Skip to content

4.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@x401om x401om released this 31 Jul 10:27

⚠️ This is a beta pre-release of Adapty Unity SDK 4.0.0. Feedback welcome before we cut the stable tag.

🚀 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), rendered natively and driven by the new flow runtime. Existing paywalls keep working: Flow is backward compatible with paywalls built in the current Paywall Builder.

💥 Breaking changes

The migration guide covers everything; the highlights:

  • Paywall entities renamed to Flow. AdaptyPaywallAdaptyFlow, GetPaywallGetFlow, CreatePaywallViewCreateFlowView, with the corresponding models, events and view controllers. Event listener interfaces now carry the I prefix (IAdaptyEventListener, IAdaptyFlowsEventsListener, IAdaptyUISystemRequestsHandler, IAdaptyUIObserverModeResolver, IAdaptyOnboardingsEventsListener).
  • Legacy onboarding API deprecated in favor of Flow.
  • Native SDK dependencies bumped to 4.x — iOS 4.0.2, Android 4.0.1 — and the cross-platform contract to 4.0.2.

✨ Added

  • iOS Kids Mode for the App Store Kids Category / COPPA. The ADAPTY_KIDS_MODE scripting define enables the KidsMode trait on the AdaptySDK-iOS Swift package (IDFA, AdSupport and AppTrackingTransparency are compiled out of the binary) and forces apple_idfa_collection_disabled in the runtime configuration. Requires Xcode 26 or newer. Set the define in Player Settings — a build profile's defines only reach the Editor assemblies after Unity recompiles them, and the iOS build now fails rather than silently shipping a binary that claims Kids Mode while still linking IDFA.
  • AdaptyUICreateFlowViewParameters.Locale — the localization to render the flow with. A flow is localized when its view is built, so this is the only place that selects it.
  • AdaptyUIFlowView.Locale — the localization the view was actually built with.
  • AdaptyUICreateFlowViewParameters.EnableSafeAreaPaddings (Android only).

🐛 Fixed

  • Custom linear gradient assets are now serialized from every color and alpha key of the Unity Gradient — gradients whose color/alpha keys differed in count or sat at different times used to throw or silently lose the alpha ramp.
  • AdaptyProductIdentifier now implements value equality, so identifiers built from a flow work as dictionary keys in AdaptyUICreateFlowViewParameters.SetProductPurchaseParameters.
  • AdaptyFlow.VendorProductIds / ProductIdentifiers no longer return duplicates across paywall variations.
  • A permission request with no IAdaptyUISystemRequestsHandler set no longer leaves the flow silently stuck — it's logged, and errors from the answer/observer round trips are logged instead of dropped.
  • ReportTransaction no longer reports DecodingFailed for transactions that were in fact reported successfully.
  • Calling the SDK in the Editor now returns a readable "not supported on this platform" error.
  • The iOS build validator no longer stays silent when it cannot parse the deployment target.

📦 Installation

Install via Git URL through Unity Package Manager: https://github.com/adaptyteam/AdaptySDK-Unity.git?path=/Packages/com.adapty.unity-sdk#4.0.0-beta.1

Full setup: quickstart guide.

Full Changelog: 3.17.0...4.0.0-beta.1