Adds sdk_version, sdk_version_padded, app_build_string, and app_build_string_number to the device object for use in rules. sdk_version is the version of the sdk, e.g. 3.4.0. sdk_version_padded is the sdk version padded with zeros for use with string comparison. For example 003.004.000. app_build_string is the build of your app and app_build_string_number is the build of your app casted as an Int.
When you experience no_rule_match, the TriggerFire event params will specify which part of the rules didn't match in the format "unmatched_rule_<id>": "<outcome>". Where outcome will either be OCCURRENCE, referring to the limit applied to a rule, or EXPRESSION. The id is the experiment id.
Adds a touches_began implicit trigger. By adding the touches_began event to a campaign, you can show a paywall the first time a user touches anywhere in your app.
Adds the ability to include a close button on a survey.
If running in sandbox, the duration of a free trial notification added to a paywall will be converted from days to minutes for testing purposes.
Adds the ability to show a survey after purchasing a product.
Fixes
Fixes issue where a survey attached to a paywall wouldn't show if you were also using the paywall_decline trigger.
Fixes issue where verification was happening after the finishing of transactions when not using a PurchaseController.
Fixes issue where the retrieved StoreTransaction associated with the purchased product may be nil.
Fixes issue where a presentationRequest wasn't being tracked for implicit triggers like session_start when there was no internet.
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
Enhancements
sdk_version
,sdk_version_padded
,app_build_string
, andapp_build_string_number
to the device object for use in rules.sdk_version
is the version of the sdk, e.g.3.4.0
.sdk_version_padded
is the sdk version padded with zeros for use with string comparison. For example003.004.000
.app_build_string
is the build of your app andapp_build_string_number
is the build of your app casted as an Int.no_rule_match
, theTriggerFire
event params will specify which part of the rules didn't match in the format"unmatched_rule_<id>": "<outcome>"
. Whereoutcome
will either beOCCURRENCE
, referring to the limit applied to a rule, orEXPRESSION
. Theid
is the experiment id.touches_began
implicit trigger. By adding thetouches_began
event to a campaign, you can show a paywall the first time a user touches anywhere in your app.Fixes
paywall_decline
trigger.PurchaseController
.StoreTransaction
associated with the purchased product may benil
.presentationRequest
wasn't being tracked for implicit triggers likesession_start
when there was no internet.Checklist
CHANGELOG.md
for any breaking changes, enhancements, or bug fixes.swiftlint
in the main directory and fixed any issues.