Skip to content

Releases: adaptyteam/AdaptySDK-React-Native

v3.14.0

10 Dec 10:58
2ccb00e

Choose a tag to compare

Meet the Adapty React Native SDK 3.14.0!

Please, read our Migration Guide to ensure a smooth update.

✨ New Features

  • Added React Native component AdaptyPaywallView as an alternative to modal presentation. Read more.
  • Support for Local Access Levels, allowing the SDK to verify purchases directly with the store even when Adapty servers are unreachable. Enabled by default for iOS, should be enabled for Android (ActivateParamsInput android.localAccessLevelAllowed). Read more.
  • Support for StoreKit Testing in Xcode. Read more.
  • Customer Identity Parameters - Added an option to pass appAccountToken (appAccountToken for iOS, obfuscatedAccountId for Android in ActivateParamsInput)
  • Purchase Transaction Data - access to jwsTransaction (iOS) and purchaseToken (Android) after purchase. Read more.
  • Product Information Enhancement - added accessLevelId and productType fields to products
  • Performance optimization for component AdaptyOnboardingView
  • Added Expo config plugin replaceAndroidBackupConfig to resolve Android Auto Backup manifest conflict
  • Added compatibility support for Android Google Play Billing Library v8 (compatibility only, not migration)

⚠️ Breaking changes

  • The minimum React Native version has been updated to 0.73.0;
  • Replaced registerEventHandlers with setEventHandlers (Paywall and Onboarding Builder). Read more
  • Added full-screen onboarding mode for iOS. Onboarding presentation now accepts iosPresentationStyle (default full_screen; previously page_sheet without a parameter).
  • Prop eventHandlers is deprecated in component AdaptyOnboardingView and will be removed in the future. Use new props for each handler. Read more
  • Removed custom backend URL fields from ActivateParamsInput (backendBaseUrl, backendFallbackBaseUrl, backendConfigsBaseUrl, backendUABaseUrl). Use serverCluster instead; for dev overrides, rely on a proxy inspector;
  • Removed adapty.logShowOnboarding method.
  • adapty.reportTransaction return type changed from Promise<AdaptyProfile> to Promise<void>
  • Removed fields from AdaptyAndroidPurchaseParams:
    • obfuscatedAccountId → use activate() or identify() with android.obfuscatedAccountId parameter instead
    • obfuscatedProfileId → no longer supported

Fixes

  • Fixed native usage of local fallback file
  • Fixed onboarding actionId payload for events onPaywall, onCustom, onClose. Resolved #225
  • Set default event handlers on create without setEventHandlers call (onboarding, paywall)

Examples

❗️ Don't forget to update your local fallback file. Keep it fresh to cover offline/Adapty-backend-unavailable cases — see details here.

v3.11.4

03 Nov 15:17

Choose a tag to compare

  • Fixed dismiss() method in AdaptyOnboardingViewController (Android)
  • Added NPM package provenance signing to ensure package authenticity and protect against supply chain attacks

v3.11.3

17 Oct 16:25
711accd

Choose a tag to compare

v3.11.2

15 Oct 16:14
334abb8

Choose a tag to compare

Android-specific improvements:

v3.11.1

08 Sep 21:02

Choose a tag to compare

v3.11.0

03 Sep 21:31

Choose a tag to compare

  • Onboarding Builder now supports localizations. Read More.

v3.10.0

13 Aug 22:10

Choose a tag to compare

  • Added support for the User Acquisition feature. Read more.
  • Minimum required Xcode version is now 16.0.
  • AdaptyUI: added support for purchase button animations.
  • AdaptyUI: added support for productPurchaseParams in .createPaywallView method.

Deprecations:

  • In AdaptyPaywall model instead of products use productIdentifiers.

v3.8.2

18 Jul 11:05

Choose a tag to compare

  • Migrated to PBL v7
  • Added support for obfuscatedProfileId and obfuscatedAccountId on Android
  • Fixed support for Xcode 26

⚠️ Breaking Changes

  • Deprecated previous MakePurchaseParamsInput structure:
// OLD (deprecated):
makePurchase(product, {
    android: {
        oldSubVendorProductId: 'old_product_id',
        prorationMode: 'charge_prorated_price',
        isOfferPersonalized: true
    }
});
// NEW:
makePurchase(product, {
    android: {
        subscriptionUpdateParams: {
            oldSubVendorProductId: 'old_product_id',
            prorationMode: 'charge_prorated_price'
        },
        isOfferPersonalized: true,  // Note: moved to upper level
        obfuscatedAccountId: 'account_123',
        obfuscatedProfileId: 'profile_456'
    }
});

v3.8.1

07 Jul 06:32

Choose a tag to compare

Meet the Adapty React Native SDK 3.8!

  • 🎉 With this version we're introducing support for the Onboarding Builder that allows your non-technical teams to create attractive and customizable onboarding flows without coding. Read More.

New

  • Added placement property to AdaptyPaywall.
  • Added __ignoreActivationOnFastRefresh to ActivateParamsInput
  • AdaptyUI: added support for Onboarding Builder.
  • AdaptyUI: added customAssets parameter to CreatePaywallViewParamsInput.

⚠️ Breaking Changes

  • GetPaywallParamsInput renamed to GetPlacementParamsInput.
  • FallbackPaywallsLocation renamed to FileLocation.
  • setFallbackPaywalls(paywallsLocation: Input.FallbackPaywallsLocation) changed to setFallback(fileLocation: Input.FileLocation).
  • public properties abTestName, audienceName, revision, placementId (renamed to id) moved from AdaptyPaywall to AdaptyPlacement.

v3.8.0

26 Jun 15:43

Choose a tag to compare

Meet the Adapty React Native SDK 3.8!

  • 🎉 With this version we're introducing support for the Onboarding Builder that allows your non-technical teams to create attractive and customizable onboarding flows without coding. Read More.

New

  • Added placement property to AdaptyPaywall.
  • Added __ignoreActivationOnFastRefresh to ActivateParamsInput
  • AdaptyUI: added support for Onboarding Builder.
  • AdaptyUI: added customAssets parameter to CreatePaywallViewParamsInput.

⚠️ Breaking Changes

  • GetPaywallParamsInput renamed to GetPlacementParamsInput.
  • FallbackPaywallsLocation renamed to FileLocation.
  • setFallbackPaywalls(paywallsLocation: Input.FallbackPaywallsLocation) changed to setFallback(fileLocation: Input.FileLocation).
  • public properties abTestName, audienceName, revision, placementId (renamed to id) moved from AdaptyPaywall to AdaptyPlacement.