adapty_flutter 2.10.4 adapty_flutter: ^2.10.4 copied to clipboard
Adapty SDK is an open-source framework that makes implementing in-app subscriptions in Flutter applications fast and easy. It’s 100% open-source and lightweight.
2.10.4 #
- [Android] Add parameters to
activate
method
2.10.3 #
- Support for Flutter 3.22+
2.10.2 #
- Support for Flutter 3.22+
2.10.1 #
- Support for Adapty iOS SDK 2.10.3
- Support for Adapty Android SDK 2.10.4
2.10.0 #
⚠️ Warning: In this version, we have changed the minimal supported versions:
- The minimal iOS version is now 12.2.
- The minimal Xcode version is now 15.0.
⚠️ Breaking Changes:
- [iOS] We are no longer support
AdaptyStoreKit2Usage
parameter in the theAdapty-Info.plist
method. Adapty SDK now utilizes the StoreKit 2 method for introductory offer eligibility checks if available.
2.9.3 #
- [Android] Fixed the incorrect format of some analytics events in rare cases.
2.9.2 #
- Added support for AdaptyUI 2.1.x
- [iOS] Fixed an issue with wrong device name in some cases on MacOS.
2.9.1 #
- [iOS] Fixed support for Swift 5.7.x (Xcode 14.0 - 14.2)
- [iOS] Fixed an issue with repeated calls to the API when the device is offline
- [Android] Redesigned analytics event system
- [Android] Improved mechanism for usage logs collection
2.9.0 #
⚠️ 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 thegetPaywall
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 #
- [Android] fixes for AdaptyUI library
2.7.0 #
- [iOS] Update Adapty-iOS dependency to 2.7.0
- [Android] Update Adapty-Android dependency to 2.7.0
2.6.2 #
- [Android] Updated retry logic according to new PBL error.
2.6.1 #
- [Android] Fixed error on purchase validation.
- [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.
- [iOS] 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
AdaptyPaywallProduct
now has a unified structure for both systems.
2.6.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.
- [iOS] 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
AdaptyPaywallProduct
now has a unified structure for both systems.
2.4.4 #
- Added
hasViewConfiguration
forAdaptyPaywall
object
2.4.3 #
- [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.2 #
- Redesigned analytics event system
- Added an option to activate usage logs
isOneTime
property ofAdaptyProfile.NonSubscription
was deprecated, useisConsumable
instead
2.4.1 #
- [Android] fixed subscription change functionality
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.1 #
- [Android] updated dependency to 2.3.2
2.3.0 #
- Added an option to specify the paywall locale.
- [iOS] updated dependency to 2.3.3
- [Android] updated dependency to 2.3.1
2.2.5 #
- [iOS] Fixed a bug that caused a new anonymous user to be created when migrating from earlier versions of the SDK.
2.2.4 #
- [iOS] Fixed
didUpdateProfileStream
serialization bug.
2.2.3 #
- Added integration with Firebase and Google Analytics. Read more.
- [Android] Fixed a bug when products returned in a wrong order
2.2.2 #
- [iOS] Fixed a bug when some additional purchase parameters were not sent in Observer Mode.
2.2.1 #
- [Android] fixed parsing error for free trial fields.
- Updated errors documentation.
2.2.0 #
Meet the second version of the Adapty SDK 🎉
See our What's new in Adapty Flutter SDK 2.0 doc for API updates. Adapty 2.0 introduces the following updates:
Breaking changes: #
- Adapty now is singleton. Use
Adapty().someMethodCall()
instead ofAdapty.someMethodCall()
- User-initiated purchases are now automatically processed by the system, so we have removed the
deferredPurchasesStream
andmakeDeferredPurchase()
method. - 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
AdaptyProfileParametersBuilder
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 resultingAdaptyProfileParameters
object to.updateProfile
method
.setAnalyticsDisabled()
method has been eliminated. Use the.setAnalyticsDisabled
method ofAdaptyProfileParametersBuilder
.- 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
didReceivePurchaserInfoStream
was also renamed to.didUpdateProfileStream
developerId
field ofAdaptyPaywall
was renamed toid
AdaptyAttributionNetwork
renamed toAdaptyAttributionSource
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 ofAdaptyProfile
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.
1.0.14 #
- Fixed type cast in the
makeDeferredPurchase
method
1.0.13 #
- Upgraded with iOS SDK version 1.17.7 and Android SDK version 1.11.0
1.0.12 #
- [Android] fixed localized properties
1.0.11 #
- Support for Flutter 3.0
1.0.10 #
- Ability to use Adapty-Info.plist for storing initialization parameters
1.0.8 #
- Updated
PurchaserInfoModel
propertyprofileId
access level to public
1.0.7 #
- [iOS] Added support for disabling IDFA collection
- [Android] Improved handling clicks on push notifications
1.0.6 #
- [iOS] Added support for AdServices attribution tracking
- [Android] internal sdk improvements
1.0.5 #
- [Android] added logLevel ALL, logLevel VERBOSE doesn't include analytical logs, but ALL does
- changed example for updating custom attribution
- various improvements
1.0.4 #
- added toString for
AdaptyAccessLevelInfo
,AdaptySubscriptionInfo
,AdaptyNonSubscriptionInfo
models
1.0.3 #
- Added new log level "all"
- Fallback paywalls offline work
- [iOS] Added optional
offerId
parameter tomakePurchase
method
1.0.2 #
- [iOS] Updated AdaptyProfileParameterBuilder to work with ATTrackingManager.AuthorizationStatus
- Removed usage of dart ffi
- Made receipt validation api method private
1.0.1 #
- [Android] Added support for fallback paywalls
1.0.0 #
- Graduate package to a stable release. See pre-releases prior to this version for changelog entries.
1.0.0-nullsafety.0 #
- Enable null safety
- Require Dart 2.12 or greater.
0.3.6 #
- [Android] fixed localizedTitle in product
0.3.5 #
- [iOS] Added
isFamilyShareable
property to product for iOS 14+. - [iOS] Added
.presentCodeRedemptionSheet()
to public SDK API
0.3.4 #
- [Android] Small fix in requests
0.3.3 #
- [iOS] Added retry for
createProfile
request in case of poor connection or if server is down. - [Android] Added gzip support
- Removed unnecessary event channel invocations for
.getPaywalls()
and.getPurchaserInfo()
methods
0.3.2 #
- Fixed
.getPaywalls()
callback without an internet connection (Android only)
0.3.1 #
- Added
.setFacebookAnonymousId
method toAdaptyProfileParameterBuilder
- Added
freeTrialPeriod
property ofAdaptyProduct
model (Android only)
0.3.0 #
- Added ability to connect observer mode purchase with a paywall it was made from using
.setTransactionVariationId
method - Added ability to opt-out from external analytics services using
.setExternalAnalyticsEnabled
method - Added public
abTestName
andname
properties toAdaptyPaywall
and to nested products array. - Paywall views must be reported using
.logShowPaywall(paywall)
method from now on, otherwise, views will not be collected.
0.2.0 #
- Plugin initialization scheme changed to prevent missing transaction on iOS.
- Added
.logShowPaywall(paywall)
to manually record paywall show event. - Added
apnsTokenString
to public properties. - Removed
state
from.getPurchaserInfo()
callback. AddedforceUpdate
as an optional request parameter. - Removed
state
from.getPaywalls()
callback. AddedforceUpdate
as an optional request parameter.
0.1.2 #
- empty string custom payload fixed
updateAttribution()
fixed on AndroidgetPurchaserInfo()
stability improvedverbose logLevel
removed as default
0.1.1 #
customPayloadString
added to Paywall- birthday fix in
updateProfile
0.1.0 #
- Initial release