Skip to content

v4.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@StanislavMayorov StanislavMayorov released this 03 Jul 20:36
7d87d02

v4.0.0-beta.1

πŸš€ Flow β€” the successor to Paywalls

The headline of 4.0.0 is Flow, which replaces the Paywall as the core unit of presentation and analytics. A flow is a fully native onboarding + paywall experience: it can contain multiple screens β€” onboardings, surveys, quizzes, single- or multi-step paywalls β€” with rendering, navigation, and analytics driven by the new flow runtime and rendered natively (no web views).

Your existing paywalls keep working. Flow is backward compatible with paywalls built in the current Paywall Builder.

πŸ‘‰ Read more about the Adapty Flow Builder.

πŸ’₯ Breaking changes

The migration guide covers everything; the highlights:

  • Paywall entities renamed to Flow. Paywall-centric APIs, types, and events are renamed to their flow-based equivalents (e.g. logShowPaywall β†’ logShowFlow; the analytics event paywall_showed β†’ flow_showed). See the migration guide for the full rename map.
  • Legacy WebView onboarding is deprecated. getOnboarding / getOnboardingForDefaultAudience and the old WebView-rendered onboarding are deprecated in 4.0.0 and will be removed in a future release. Migrate to the Flow Builder API, which renders onboardings and paywalls natively.
  • Minimum React Native bumped from 0.73 to 0.75 + SPM on iOS. react-native-adapty 4.0.0 now requires React Native β‰₯ 0.75, and iOS native dependencies are pulled through Swift Package Manager with dynamic frameworks (see Installation above).
  • Minimum iOS version is now 15.

πŸ“¦ Installation

iOS native dependencies are now pulled through Swift Package Manager (the CocoaPods service itself is being sunset). This changes the iOS requirements:

  • React Native β‰₯ 0.75 is required β€” it enables the spm_dependency.
  • Dynamic frameworks are required β€” your ios/Podfile must declare use_frameworks! :linkage => :dynamic.
    See the migration guide for the full iOS setup.

Android continues to install through Gradle as before β€” no extra setup.

❗️ Don't forget to update your local fallback file