Skip to content

Releases: adaptyteam/AdaptySDK-Unity

3.14.0

05 Dec 12:52

Choose a tag to compare

Meet the Adapty Unity SDK 3.14.0!

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

  • [3.12.0] Support for Local Access Levels, allowing the SDK to verify purchases directly with the store even when Adapty servers are unreachable. Read More.
  • [3.12.0] Support for StoreKit Testing in Xcode. Read More.
  • [3.12.0] Added AccessLevelId and ProductType properties for AdaptyPaywallProduct
  • [3.12.0] Added an option to pass appAccountToken to the Activate() or Identify() methods.
  • [3.10.2] It’s now not possible to use Logout() for anonymous profiles.
  • [3.10.0] AdaptyUI: added support for purchase button animations
  • [3.9.0] Added support for the User Acquisition feature. Read more.
  • [3.8.0] Added support for the Onboarding Builder that allows your non-technical teams to create attractive and customizable onboarding flows without coding. Read More.
  • [3.7.0] AdaptyUI: added support for Custom Assets. Read more
  • [3.6.0] Added support for Web Paywall: use CreateWebPaywallUrl() or OpenWebPaywall() to navigate users to an external webpage with alternative checkout options. Read More.
  • [3.6.0] AdaptyUI: Added support for Web Paywall button. Read More.
  • [3.5.0] Crossplacement A/B Test: Introduced support for Crossplacement A/B testing – a test type that spans multiple placements within your app. Read more.
  • [3.5.0] Added PaywallViewDidAppear and PaywallViewDidDisappear events.

⚠️ Breaking Changes

  • Use SetPaywallsEventsListener to receive paywall events and SetOnboardingsEventsListener to receive onboarding events.
  • Minimum required Xcode version is now 16.0
  • SetBackendBaseUrl(), SetBackendFallbackBaseUrl(), SetBackendConfigsBaseUrl() methods of AdaptyConfiguration.Builder were removed, please use SetServerCluster() method to configure the SDK
  • ReportTransaction() now does not return AdaptyProfile in the callback action
  • SetFallbackPaywalls() renamed to SetFallback()

###❗️ Don't forget to update your local fallback file if needed.

Full Changelog: 3.4.1...3.14.0

3.4.1

18 Jul 22:37

Choose a tag to compare

  • [Android] Add support for PBL v7

Full Changelog: 3.4.0...3.4.1

3.4.0

23 Apr 09:53

Choose a tag to compare

  • Added AudienceName property to AdaptyPaywall struct
  • Added UpdateCollectingRefundDataConsent and UpdateRefundPreference methods. Read More.
  • Fixed support for Xcode 16.3

Full Changelog: 3.3.1...3.4.0

3.3.1

27 Feb 15:11

Choose a tag to compare

  • Fixed ReportTransaction method result parsing error.

Full Changelog: 3.3.0...3.3.1

3.3.0

31 Dec 19:01

Choose a tag to compare

🎉 Meet the Adapty Unity SDK 3.3.0!

With this version we're introducing support for the new paywall builder that offers more templates and layout flexibility. Note that:

  • This version doesn't support paywalls created in the legacy (current) paywall builder
  • But you can easily migrate those with a single press of a button in Adapty Dashboard
  • This version also offers complete support of StoreKit 2 and Swift 6 on the iOS side. See more here.
  • Added support for win-back offers. Read More.
  • You can also refer to our migration guide explaining how to migrate to Adapty 3.3.0 from earlier versions.

Major Changes

  • AdaptyUI merged into Adapty: Consolidated functionality for a more streamlined experience.

Breaking Changes

Renamed APIs

  • Adapty.sdkVersionAdapty.SDKVersion
  • Adapty.LogLevelAdaptyLogLevel
  • Adapty.PaywallAdaptyPaywall
  • Adapty.PaywallFetchPolicyAdaptyPaywallFetchPolicy
  • PaywallProductAdaptyPaywallProduct
  • Adapty.ProfileAdaptyProfile
  • Adapty.ProfileParametersAdaptyProfileParameters
  • ProfileGenderAdaptyProfileGender
  • ErrorAdaptyError

Method Signature Changes

  • SetLogLevel now includes a callback.
  • UpdateAttribution signature updated for improved flexibility.
  • MakePurchase result handling has been modified.

Removed APIs

  • GetProductsIntroductoryOfferEligibility removed.
  • OnCancelPurchase removed from event handling.

Integration Updates

  • PresentCodeRedemptionSheet now supports a callback.
  • Methods for integration have been streamlined.

AdaptyUI-Specific Changes

Renamed Methods

  • CreatePaywallViewCreateView (arguments updated).
  • PresentPaywallViewPresentView.
  • DismissPaywallViewDismissView.

Event Listener Merged

  • AdaptyUIEventListener merged into AdaptyEventListener.

Event Renames

  • OnPerformActionPaywallViewDidPerformAction.
  • OnSelectProductPaywallViewDidSelectProduct (updated to use productId instead of product).
  • OnStartPurchasePaywallViewDidStartPurchase.
  • OnFinishPurchasePaywallViewDidFinishPurchase (updated to include purchasedResult instead of profile).
  • OnFailPurchasePaywallViewDidFailPurchase.
  • OnFinishRestorePaywallViewDidFinishRestore.
  • OnFailRestorePaywallViewDidFailRestore.
  • OnFailRenderingPaywallViewDidFailRendering.
  • OnFailLoadingProductsPaywallViewDidFailLoadingProducts.

New Events

  • PaywallViewDidStartRestore added.

Class Renames

  • AdaptyUI.ViewAdaptyUIView.
  • AdaptyUI.ActionAdaptyUIUserAction.

Additional Updates

New API

  • Activate added to improve initialization process.

Fallback Paywalls

  • SetFallBackPaywalls implementation updated.

Full Changelog: 2.9.0...3.3.0

--
You can also refer to our migration guide explaining how to migrate to Adapty 3.3.0 from earlier versions.

2.9.0

08 Jan 17:37

Choose a tag to compare

⚠️ Warning:
This version relies on StoreKit 2 instead of StoreKit 1. Starting from this version, you must connect your account to Apple In-App Purchase API in Adapty Dashboard. Otherwise, we won't be able to make or validate purchases.

New:

  • Since this version we are using CDN. This technology helps us to synchronize data much faster.
  • Added an option to retrieve paywalls from local cache by passing fetchPolicy parameter into .GetPaywall() method
  • Added an option to specify paywall fetching timeout by passing loadTimeout parameter into .GetPaywall() method

Read More in our documentation.

Breaking Changes:

  • placementId parameter has been added to the .GetPaywall method, replacing the previously unnamed parameter id. Read More
  • AdaptyEnableUsageLogs of Adapty-Info.plist is no longer supported, since this feature is enabled by default. Read More
  • If you will not put the AdaptyStoreKit2Usage parameter to Adapty-Info.plist, the default value will be .forIntroEligibilityCheck (this means that by default we will fetch introductory offers eligibility using StoreKit 2). Read More

2.7.1

01 Nov 10:48

Choose a tag to compare

  • Minor improvements for AdaptyUI support

2.7.0

13 Oct 20:44

Choose a tag to compare

  • [Android] Support for Google Billing Library v5+. Read more
  • [iOS] Since this version, the Adapty SDK will observe StoreKit 2 transactions, which will be helpful if you are using observer mode
  • The offerId property has been added to the AdaptyAccessLevel and AdaptySubscription entities in AdaptyProfile

⚠️ Breaking!

  • We have renamed AndroidSubscriptionUpdateProrationMode to AndroidSubscriptionUpdateReplacementMode
  • Introduced a new functionality for retrieving introductory offers eligibility using StoreKit 2. To fetch it, you should now use a separate method called .GetProductsIntroductoryOfferEligibility. The behavior of this function depends on your Adapty SDK configuration. It will utilize StoreKit 2 if available or fallback to a legacy logic based on receipt analysis. For more detailed information, please refer to our documentation. Read more
  • Adapty.Eligibility.Unknown was replaced with .NotApplicable (for products that cannot contain offers)
  • Adapty.PaywallProduct now has a unified structure for both systems
  • Introducing Adapty.Price structure. Migrate as follows:
    • product.Price -> product.Price.Amount
    • product.LocalizedPrice -> product.Price.LocalizedString
    • product.CurrencyCode -> product.price.CurrencyCode
    • product.CurrencySymbol -> product.Price.CurrencySymbol
  • Introducing AdaptySubscriptionDetails structure. Migrate as follows:
    • product.SubscriptionPeriod -> product.SubscriptionDetails.SubscriptionPeriod
    • product.LocalizedSubscriptionPeriod -> product.SubscriptionDetails.LocalizedSubscriptionPeriod
  • Introducing Adapty.SubscriptionPhase structure instead of Adapty.ProductDiscount. Phase represents either Introductory period (product.SubscriptionDetails.IntroductoryOffer) or Promo period (product.SubscriptionDetails.PromotionalOffer). Migrate as follows:
    • product.FreeTrialPeriod -> look into PaymentMode and SubscriptionPeriod properties of Adapty.SubscriptionPhase
    • product.LocalizedFreeTrialPeriod -> look into LocalizedSubscriptionPeriod property of Adapty.SubscriptionPhase
  • Other migration notes:
    • product.PromotionalOfferEligibility -> product.SubscriptionDetails.PromotionalOfferEligibility
    • product.PromotionalOfferId -> product.SubscriptionDetails.PromotionalOfferId
    • product.VariationId -> product.PaywallVariationId

Full Changelog: 2.4.4...2.7.0

2.4.2

27 Apr 09:37

Choose a tag to compare

  • [iOS] Improved variation_id delivery mechanism when validating purchases (iOS 2.4.4)
  • [iOS] Improved mechanism for Usage Logs collection (iOS 2.4.5)
  • [iOS] Fixed a bug which caused wrong error codes from StoreKit to be passed to the cross platform SDKs (iOS 2.4.5)

2.4.1

17 Apr 11:56

Choose a tag to compare

  • [iOS] Redesigned analytics event system
  • [iOS] Added an option to activate usage logs
  • isOneTime property of AdaptyProfile.NonSubscription was deprecated, use isConsumable instead