Releases: adaptyteam/AdaptySDK-Unity
Releases · adaptyteam/AdaptySDK-Unity
2.9.0
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 parameterid
. Read MoreAdaptyEnableUsageLogs
ofAdapty-Info.plist
is no longer supported, since this feature is enabled by default. Read More- If you will not put the
AdaptyStoreKit2Usage
parameter toAdapty-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
2.7.0
- [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 theAdaptyAccessLevel
andAdaptySubscription
entities inAdaptyProfile
- We have renamed
AndroidSubscriptionUpdateProrationMode
toAndroidSubscriptionUpdateReplacementMode
- 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 ofAdapty.ProductDiscount
. Phase represents either Introductory period (product.SubscriptionDetails.IntroductoryOffer
) or Promo period (product.SubscriptionDetails.PromotionalOffer
). Migrate as follows:product.FreeTrialPeriod
-> look intoPaymentMode
andSubscriptionPeriod
properties ofAdapty.SubscriptionPhase
product.LocalizedFreeTrialPeriod
-> look intoLocalizedSubscriptionPeriod
property ofAdapty.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
- [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
2.4.0
- 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
- 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 forremoteConfig
- [iOS] updated dependency to 2.3.3
- [Android] updated dependency to 2.3.2
2.2.2
2.2.1
2.2.0
Meet the second version of the Adapty SDK 🎉
See our What's new in Adapty Unity SDK 2.0 doc for API updates.
Adapty 2.0 introduces the following updates:
Breaking changes:
- User-initiated purchases are now automatically processed by the system, so we have removed the
OnDeferredPurchasesProduct
method fromAdaptyEventListener
. - We are no longer support Visual Paywalls and Promo Campaigns features, so you should remove the calls to the corresponding methods, if there were any
- Instead of getting all paywalls in one request with the
.GetPaywalls()
, it must be done separately for each paywall using.GetPaywall(id:)
- Products are no longer part of the paywall, they must be loaded separately with
.GetPaywallProducts(paywall:)
- It is no longer possible to use products outside of the paywall. If you need to handle a product, create a separate paywall for it (or for multiple products).
IntroductoryOfferEligibility
– instead of true/false we give a more extended list of options- The
Adapty.ProfileParameters.Builder
is redesigned:- Methods, related to custom attributes now can throw an exception, if key or value didn't pass validation
- Added an option to pass null values to builder functions for more convenience
- You can now remove customAttributes with the function
.RemoveCustomAttribute("key")
- You have to use
.Build()
method and pass resultingAdapty.ProfileParameters
object to.UpdateProfile
method
.SetAnalyticsDisabled()
method has been eliminated. Use the.SetAnalyticsDisabled
method ofAdapty.ProfileParameters.Builder
.- The
forceUpdate
parameter was removed from theGetPaywall
method. The result will always be up to date if it is possible to retrieve data from the server
Renames
PurchaserInfo
renamed toAdaptyProfile
.GetPurchaserInfo
renamed to.GetProfile
.OnReceiveUpdatedPurchaserInfo
was also renamed to.OnLoadLatestProfile
DeveloperId
field ofAdaptyPaywall
was renamed toId
Adapty.AttributionNetwork
renamed toAdapty.AttributionSource
Fixes
- Fixed wrong behavior of fallback paywalls in some cases
.SetFallbackPaywalls()
method now does not return errors related to StoreKit product retrieval- Incorrect user segmentation in some rare cases
Additions:
- Ability to log onboard screens with
.LogShowOnboarding()
. Read more - Added ability to get previously set
CustomAttributes
, now it is part ofAdapty.Profile
Under the hood:
- The server interaction layer was rewritten from scratch.
- The initial request sequence has been optimized and simplified
- Reduced the number of API calls made by SDK. Some of the request are now faster and transfer less data.
- Independent requests can be executed simultaneously
- StoreKit interaction layer was refactored
Full documentation can be found in here.