register/getPaywall/getPresentationResult/getImplicitPresentationResult now all go through one function getPaywallComponents.
Updates RevenueCat to the latest version.
Makes detached tasks in the transaction manager inline instead.
Fixes issue where a rule added with paywall_decline would result in the feature block being called too early. The event used to figure out whether it should be matching the paywall_decline trigger wasn't the actual paywall_decline event, so it didn't include any parameters. This was resulting in a no_rule_match and therefore dismissing the paywall and calling the feature block too early. However, the real paywall_decline implicit event was matching the rules and therefore presented a paywall.
Fixes issue where paywall assignments may not have been cleared when resetting. This was because reading from the cache was always done without using a queue whereas writing was done using a queue. This resulted in a race and resulted in confirmed assignments being stored rather than discarded.
All presentation flows now check the user subscription after
Checklist
[x] All unit and UI tests pass. Demo project builds and runs.
[x] I added tests, an experiment, or detailed why my change isn't tested.
[x] I added an entry to the CHANGELOG.md for any breaking changes, enhancements, or bug fixes.
[x] I have run swiftlint in the main directory and fixed any issues.
[ ] I have updated the SDK documentation as well as the online docs.
Changes in this pull request
register
/getPaywall
/getPresentationResult
/getImplicitPresentationResult
now all go through one functiongetPaywallComponents
.paywall_decline
would result in the feature block being called too early. The event used to figure out whether it should be matching thepaywall_decline
trigger wasn't the actualpaywall_decline
event, so it didn't include any parameters. This was resulting in ano_rule_match
and therefore dismissing the paywall and calling the feature block too early. However, the realpaywall_decline
implicit event was matching the rules and therefore presented a paywall.Checklist
CHANGELOG.md
for any breaking changes, enhancements, or bug fixes.swiftlint
in the main directory and fixed any issues.