Skip to content

Releases: adaptyteam/AdaptySDK-Unity

3.4.0

23 Apr 09:53
Compare
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
Compare
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
Compare
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
Compare
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
Compare
Choose a tag to compare
  • Minor improvements for AdaptyUI support

2.7.0

13 Oct 20:44
Compare
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
Compare
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
Compare
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

2.4.0

09 Mar 08:48
Compare
Choose a tag to compare
  • Changed the logic of working with fallback paywalls - now the SDK will not wait for the creation of a profile
  • Added an option to set airbridgeDeviceId to user profile
  • The logging system has been improved: all requests and responses from the server are now logged in verbose mode, and the computation required for logging has been optimized
  • Increased the length and number of custom attributes

2.3.0

24 Feb 13:39
Compare
Choose a tag to compare
  • Added an option to specify the paywall locale.
    ❗️Please note that you should enable this feature in the dashboard, in other case the SDK will not receive any values for remoteConfig
  • [iOS] updated dependency to 2.3.3
  • [Android] updated dependency to 2.3.2