You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Enhancements
Adds watchOS 8+ and tvOS 15+ support through Swift Package Manager, for purchases, subscription status, entitlements, user attributes and events. Paywalls can't be shown there, so when one would show, register runs non-gated features and returns an error for gated ones.
Fixes
Placements named after a standard Superwall event are now rejected by getPaywall and PaywallView too, and register reports this to its error handler instead of silently doing nothing.
Fixes setting a $-prefixed attribute from a paywall deleting the existing attribute with the same name. Keys beginning with $ are reserved, so they're now ignored.
Fixes reset() leaving the new user's attributes without aliasId and seed, so audience filters on them didn't match.
Fixes reset() occasionally deleting the new user's alias and seed from disk, giving them another alias on the next launch.
Fixes the seed derived from the user ID being applied to a user who had since logged out or switched.
Fixes reset(), and identify(userId:) switching user, sending several user_attributes events for one change. The new user's Apple Search Ads, MMP and install-scoped integration attributes are now in place when the call returns.
Fixes config refreshes being able to run at the same time and apply their configs out of order. A refresh called while the launch config fetch is still finishing now waits for it.
Fixes Superwall.shared.configurationStatus staying .pending when the config couldn't be fetched. It's now .failed.
Fixes getCustomerInfo() never returning when the SDK can't load its configuration, such as on a first launch without a connection.
Fixes refreshCustomerInfo() returning empty customer info when the fetch fails, instead of the device's purchases.
Fixes the Mac preview window sometimes selecting a different paywall than the one linked, without saying why.
Stops sending user and device attributes for enrichment, such as the demand score, while eventTrackingBehavior is .none.
Fixes a paywall showing and charging the wrong billing plan when the same App Store product is sold on both the up-front and monthly plans, on one paywall or across paywalls. Each paywall slot now keeps its own plan. Product identifiers are unchanged.
Fixes paywalls letting the app rotate into orientations it doesn't allow. A paywall now allows the same orientations as the screen it covers, which matters for apps that lock orientation in a view controller rather than in their Info.plist, such as Unity games. Previously, a landscape-only game could be rotated to portrait while a paywall was showing and stayed in portrait after it closed.