Breaking Changes
- Adds a
PaywallViewControllerDelegate
to thegetPaywallViewController
functions. This is mandatory and is how you control what happens after a paywall is dismissed. - The completion block of
getPaywallViewController(forEvent:params:paywallOverrides:delegate:completion:)
now accepts an optionalPaywallViewController
, an optionalPaywallSkippedReason
and an optionalError
. This makes it easier to understand when the paywall was skipped vs when a real error occurred. - Renamed the
PaywallResult
caseclosed
todeclined
.
Enhancements
- Exposes
PaywallOverrides
andPaywallViewController
to Objective-C. - Adds Objective-C convenience methods to
PaywallOverrides
. - Adds a
device.isFirstAppOpen
property that you can use in paywall rules. This istrue
for the very first time a user opens the app. When the user closes and reopens the app, this will befalse
. - Removes the need to tell us when you're going to present/have presented a
PaywallViewController
that has been retrieved usinggetPaywallViewController(...)
. - Adds
isInspectable
to the paywall web view if running on iOS 16.4+. - Exposes
PaywallViewControllerDelegate
to be used withgetPaywallViewController(...)
Fixes
- Fixes various memory related crashes.
- Fixes a crash when calling
reset()
when a paywall is displayed.