Releases: adaptyteam/AdaptySDK-iOS
3.17.2
- Kids Mode: the SDK now sends the Apple Search Ads (AdServices) attribution token in Kids Category builds. The ASA token from
AAAttributionis anonymized and first-party (not IDFA /AdSupport), so it is permitted under COPPA. - Fixed an off-by-one in placement variation weight distribution that could slightly skew A/B traffic allocation at exact weight boundaries.
Full Changelog: 3.17.1...3.17.2
4.0.0-beta.1
⚠️ This is a beta pre-release of Adapty iOS SDK 4.0.0. APIs may still change before the stable 4.0.0.
🚀 Flow — the successor to Paywalls
4.0.0 introduces Flow, which replaces the Paywall as the core unit of presentation and analytics. A flow can contain multiple screens, with its rendering, navigation, and analytics driven by the new flow runtime. Paywall-centric APIs are renamed to flow-based equivalents (e.g. logShowPaywall → logShowFlow, paywall_showed → flow_showed).
👉 Read more about Adapty Flow Builder.
👉 See the Adapty docs for details and the migration guide.
📦 Installation
- Swift Package Manager only. CocoaPods support has been removed in 4.0.0 (podspecs are no longer published).
- This is a pre-release: pin the exact version, e.g.
.exact("4.0.0-beta.1"). SPM does not resolve beta versions throughfrom:/ up-to-next-major rules.
💥 Breaking changes
Major release with public API changes across the core SDK and AdaptyUI. Highlights:
- Flow replaces Paywall:
Adapty.logShowPaywall(_:)→Adapty.logShowFlow(_:); eventpaywall_showed→flow_showed(paywall_builder_idremoved). - Attribution & integrations:
AdaptyProfile.AttributionSource→AdaptyAttributionSource;updateAttribution(_:source:)now takes a typedAdaptyAttributionSource;setIntegrationIdentifier(key:value:)→ variadic, typedsetIntegrationIdentifier(_:). - Custom assets (
AdaptyUICustomVideoAsset/ fonts): video cases gained a trailingresolution: CGSize?parameter; the.playercase now takesAVPlayer(wasAVQueuePlayer); the.fontcase now carries anAdaptyUICustomFontAsset(default color / letter spacing / line height) instead of a bareUIFont. - AdaptyUI error handling: callback
didFailRendering→didReceiveError(now also surfaces JS runtime errors via the newAdaptyUIError.jsException/AdaptyUIBuilderError.jsExceptioncase); the plugin wire eventflow_view_did_fail_rendering→flow_view_did_receive_error. - CocoaPods support dropped — SPM only.
❗️ Don't forget to update your local fallback file if needed.
Full Changelog: 3.17.1...4.0.0-beta.1
3.17.1
- Added
AdaptyProfile.appliedAttributionSources: [AttributionSource]— identifiers of attribution sources applied to the profile and available for segmentation. UseAttributionSource.appleAdsfor comparison against the known Apple Search Ads identifier.
Full Changelog: 3.17.0...3.17.1
3.17.0
- AdaptyUI: the
Action.openURLcase now carries anin: AdaptyWebPresentationparameter (externalBrowser/inAppBrowser). Default handlers honor it viaSFSafariViewControllerforinAppBrowserandUIApplication.openforexternalBrowser. - Various bugfixes and stability improvements.
⚠️ Breaking Changes
AdaptyUI.Action.openURLsignature changed fromopenURL(url: URL)toopenURL(url: URL, in: AdaptyWebPresentation). Update yourAdaptyPaywallControllerDelegate/AdaptyPaywallViewaction handlers to accept the new parameter.
Full Changelog: 3.15.7...3.17.0
3.15.7
3.15.6
3.15.5
3.15.4
3.15.3
- [Crossplatform Support] Fixed a bug where the
placementIdvalue was incorrect forAdaptyUIPaywallView.
Full Changelog: 3.15.2...3.15.3
3.15.2
- Now it is possible to prevent a new profile from being created after restoring a device from an iCloud backup by using the
.with(clearDataOnBackup: true)setting inAdaptyConfiguration.
Full Changelog: 3.15.1...3.15.2