Enhancements
- Adds support for multiple paywall URLs, incase one CDN provider fails.
- Adds the ability for the SDK to refresh the Superwall configuration every session start, subject to a feature flag. This means the paywalls will be kept updated even if the app has been open for a long time in the background.
- Adds
build_id
andcache_key
toPaywallInfo
. - Tracks a
config_refresh
Superwall event when the configuration is refreshed. - Adds product retrying if we fail to fetch an
SKProduct
. This tracks apaywallProductsLoad_retry
event whenever the product loading request gets retried. - SW-2899: Adds
Superwall.shared.localeIdentifier
as a convenience variable that you can use to dynamically update the locale used for evaluating rules and getting localized paywalls. - Adds feature flag to enable text interaction with a paywall.
- SW-2901: Adds
abandoned_product_id
to atransaction_abandon
event to use in audience filters. You can use this to show a paywall if a user abandons the transaction for a specific product. - Updates RevenueCat example app to use v5 of their SDK.
Fixes
- Fixes error message
undefined is not an object
that sometimes appeared when opening a paywall. - SW-2871: Makes sure to track device attributes after geo location data is found.
- Fixes issue where restored transactions were being finished even if a
PurchaseController
was supplied in configure. - SW-2879: Adds
capabilities
to device attributes. This is a comma-separated list of capabilities the SDK has that you can target in audience filters. This release adds thepaywall_event_receiver
capability. This indicates that the paywall can receive transaction and restore events from the SDK. - SW-2879: Adds
configCapabilties
which contains aname
of the capability and any additional info. Thepaywall_event_receiver
capability contains a list of eventNames specifying the exact events paywalljs can receive. - Fixes a crash caused by an arithmetic overflow if there was an issue with audience filter limits.
- Fixes
UIScreen unavailable in visionOS
error message inPaywallViewController
.