⚠️ Breaking
- External attribution APIs are renamed.
Adapty.updateAttribution(_:source:)is now
Adapty.updateExternalAttribution(_:provider:),AdaptyAttributionSourceis now
AdaptyExternalAttributionProvider, andAdaptyProfile.appliedAttributionSourcesis now
appliedExternalAttributionProviders. There are no deprecated aliases — the old names are gone.
A.customprovider was added alongside the existing ones. - Adapty Attribution is now opt-in. Installation details are no longer collected unless you activate
with.with(adaptyAttributionEnabled: true), soonInstallationDetailsSuccess/
onInstallationDetailsFailwill not fire until you do. AdaptySubscriptionOfferTypeis now aRawRepresentablestruct instead of an enum, so aswitch
over it needs adefaultbranch. It gained.winBack.- The
String-based overload of the external attribution API is no longer public.
✨ Added
- StoreKit 2 promoted purchases: implement
AdaptyDelegate.didReceivePromotedPurchase(_:)to receive
anAdaptyPromotedProductwhen a purchase is started from the App Store. Adapty.preloadFlows(placementIds:)andAdapty.preloadOnboardings(placementIds:), plus their
default-audience counterparts, warm placement caches before a screen is needed.- Custom layouts:
AdaptyUI.getFlowConfigurationaccepts acustomLayoutId. AdaptyTransactionOfferTypefor transaction-level offer types, including win-back offers.
❗️ Don't forget to update your local fallback file if needed.
Full Changelog: 4.0.3...4.1.0