purchases_flutter 6.2.0 purchases_flutter: ^6.2.0 copied to clipboard
Flutter in-app purchases and subscriptions made easy. The plugin supports iOS, macOS and Android.
6.2.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.2.0 (#844) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.13.0 to 1.14.2 (#843) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.1.1 (#840) via RevenueCat Git Bot (@RCGitBot)
6.1.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.1.0 (#835) via RevenueCat Git Bot (@RCGitBot)
6.0.0 #
RevenueCat Flutter SDK v6 is here!! 😻
This latest release updates the SDK to use BillingClient 6 in Android. This version of BillingClient brings little change compared with BillingClient 5 which brought an entire new subscription model which resulted in large changes across the entire SDK.
The only modification at the API level involves replacing "ProrationMode" with "ReplacementMode". The specific replacement modes remain unchanged.
If your app doesn't currently use DEFERRED replacement modes, then you should be safe to upgrade to this version without changes in behavior.
If your app supports product changes using DEFERRED replacement mode, then you can either stick with the previous major version until support for DEFERRED is re-introduced in this major version, or you can remove DEFERRED replacement options from your app.
If you are using the SDK in observer mode, you should only use v6 in Android if you're using BillingClient 6.
See the Android Native - 6.x to 7.x Migration for more details.
If you come from an older version of the RevenueCat SDK, see Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it.
Bumped minimum Android SDK version #
RevenueCat SDK v7 bumps minimum Android SDK version from Android 4.0 (API level 16) to Android 4.4 (API level 19).
Support for InApp Messages #
We've added new APIs to support InApp messages both in Android and iOS. You can read more about:
- Google Play InApp Messages which will show users a snackbar message during grace period and account hold once per day and provide them an opportunity to fix their payment without leaving the app.
- App Store InApp messages which will show a modal during grace period once per subscription.
InApp Messages are shown by default in both platforms. If you want to disable this behaviour during configuration of the RevenueCat SDK, setup the shouldShowInAppMessagesAutomatically
property during configuration to false
:
PurchasesConfiguration configuration = PurchasesConfiguration("api_key");
configuration.shouldShowInAppMessagesAutomatically = false;
Purchases.configure(configuration);
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.0.0 (#828) via RevenueCat Git Bot (@RCGitBot)
5.8.0 #
5.7.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.2.0 (#814) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.214.0 to 2.215.1 (#813) via dependabot[bot] (@dependabot[bot])
5.6.5 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.1.2 (#802) via RevenueCat Git Bot (@RCGitBot)
5.6.4 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.1.0 (#797) via RevenueCat Git Bot (@RCGitBot)
- Bump activesupport from 7.0.4.3 to 7.0.7.2 (#791) via dependabot[bot] (@dependabot[bot])
5.6.3 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.4 (#793) via RevenueCat Git Bot (@RCGitBot)
5.6.2 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.3 (#786) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.2 (#785) via RevenueCat Git Bot (@RCGitBot)
5.6.1 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.1 (#782) via RevenueCat Git Bot (@RCGitBot)
5.6.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.0 (#778) via RevenueCat Git Bot (@RCGitBot)
5.5.0 #
5.4.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.4.1 (#769) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.4.0 (#765) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.213.0 to 2.214.0 (#764) via dependabot[bot] (@dependabot[bot])
5.3.0 #
5.2.3 #
5.2.2 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.3 (#744) via RevenueCat Git Bot (@RCGitBot)
5.2.1 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.2 (#740) via RevenueCat Git Bot (@RCGitBot)
5.2.0 #
5.1.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.1.0 (#730) via RevenueCat Git Bot (@RCGitBot)
Other Changes #
- [EXTERNAL] v5-MIGRATION.md: replace defaultOffer w/ defaultOption (#728) (#729) via Toni Rico (@tonidero)
- Fix purchase tester reconfiguring the SDK (#722) via Toni Rico (@tonidero)
5.0.0 #
RevenueCat Purchases Flutter v5 is here!! 😻
This latest release updates the Android SDK dependency from v5 to v6 to use BillingClient 5. This version of BillingClient brings an entire new subscription model which has resulted in large changes across the entire SDK.
Migration Guides #
- See Android Native - 5.x to 6.x Migration for a more thorough explanation of the new Google subscription model announced with BillingClient 5 and how to take advantage of it in V6. This guide includes tips on product setup with the new model.
New SubscriptionOption
concept #
Purchasing
In v4, a Google Play Android Package
or StoreProduct
represented a single purchaseable entity, and free trials or intro
offers would automatically be applied to the purchase if the user was eligible.
Now, in Flutter v5, an Google Play Android Package
or StoreProduct
represents a duration of a subscription and contains all the ways to purchase that duration -- any offers and its base plan. Each of these purchase options are SubscriptionOption
s.
When passing a Package
to purchasePackage()
or StoreProduct
to purchaseStoreProduct()
, the SDK will use the following logic to choose which
SubscriptionOption
to purchase:
- Filters out offers with "rc-ignore-offer" tag
- Uses
SubscriptionOption
with the longest free trial or cheapest first phase- Only offers the user is eligible will be applied
- Falls back to base plan
For more control, purchase subscription options with the new purchaseSubscriptionOption()
method.
Models
StoreProduct
now has a few new properties use for Google Play Android:
defaultOption
- A subscription option that will automatically be applie when purchasing a
Package
orStoreProduct
- A subscription option that will automatically be applie when purchasing a
subscriptionOptions
- A list of subscription options (could be null)
Observer Mode #
Observer mode is still supported in v5. Other than updating the SDK version, there are no changes required.
Offline Entitlements #
✨ With this new feature, even if our main and backup servers are down, the SDK can continue to process purchases. This is enabled transparently to the user, and when the servers come back online, the SDK automatically syncs the information so it can be visible in the dashboard.
Offering Metadata #
✨ Metadata allows attaching arbitrary information as key/value pairs to your Offering to control how to display your products inside your app. The metadata you configure in an Offering is available from the RevenueCat SDK. For example, you could use it to remotely configure strings on your paywall, or even URLs of images shown on the paywall.
See the metadata documentation for more info!
4.13.0 #
Bugfixes #
- Fix deprecation warning (#694) via Andy Boedo (@aboedo)
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.18.0 (#709) via RevenueCat Git Bot (@RCGitBot)
- Increases upper limit and removes minimum flutter version (#702) via Cesar de la Vega (@vegaro)
- Bump fastlane from 2.212.2 to 2.213.0 (#696) via dependabot[bot] (@dependabot[bot])
Other Changes #
- Fix analyzer issues (#706) via Mark Villacampa (@MarkVillacampa)
- Fix integration tests (#703) via Mark Villacampa (@MarkVillacampa)
- Support Gradle 8+ (#698) via Cesar de la Vega (@vegaro)
- Fix issues when running Flutter 3.10.2 (#699) via Cesar de la Vega (@vegaro)
4.12.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.15.0 (#680) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.12.0 to 1.12.1 (#672) via dependabot[bot] (@dependabot[bot])
- Bump danger from 9.2.0 to 9.3.0 (#678) via dependabot[bot] (@dependabot[bot])
4.11.3 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.3 (#674) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.212.1 to 2.212.2 (#670) via dependabot[bot] (@dependabot[bot])
- Bump activesupport from 7.0.4.2 to 7.0.4.3 (#644) via dependabot[bot] (@dependabot[bot])
Other Changes #
- Update fastlane-plugin-revenuecat version (#669) via Cesar de la Vega (@vegaro)
4.11.2 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.2 (#661) via RevenueCat Git Bot (@RCGitBot)
4.11.1 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.1 (#645) via RevenueCat Git Bot (@RCGitBot)
4.11.0 #
New Features #
- add
immediateAndChargeFullPrice
proration mode (#639) via Andy Boedo (@aboedo)
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.0 (#640) via RevenueCat Git Bot (@RCGitBot)
Other Changes #
- Deprecate revenueCatId in favor of transactionIdentifier (#612) via Toni Rico (@tonidero)
4.10.4 #
4.10.3 #
Dependency Updates #
- Bump fastlane from 2.212.0 to 2.212.1 (#627) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.4 (#626) via RevenueCat Git Bot (@RCGitBot)
4.10.2 #
4.10.1 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.2 (#617) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.211.0 to 2.212.0 (#615) via dependabot[bot] (@dependabot[bot])
4.10.0 #
4.9.1 #
4.9.0 #
New Features #
- Added Purchases.setLogHandler (#591) via Cesar de la Vega (@vegaro)
- Added
Purchases.setLogLevel
(#589) via NachoSoto (@NachoSoto)
Bugfixes #
- Fix error code parsing from native layer (#585) via Toni Rico (@tonidero)
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.12.0 (#597) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.11.0 (#595) via RevenueCat Git Bot (@RCGitBot)
Other Changes #
- Adds dependabot (#599) via Cesar de la Vega (@vegaro)
- Update danger, fastlane and fastlane plugin (#598) via Cesar de la Vega (@vegaro)
- Add tests for sending customer info upon adding listener (#580) via Toni Rico (@tonidero)
DEVELOPMENT.md
: added section on how to run tests (#590) via NachoSoto (@NachoSoto)
4.8.0 #
New Features #
- Change default usesStoreKit2IfAvailable to false (#587) via Cesar de la Vega (@vegaro)
- Adds StoreProduct.susbcriptionPeriod (#579) via Cesar de la Vega (@vegaro)
- Send customer info to first listener added (#576) via Toni Rico (@tonidero)
- Add beginRefundRequest APIs for iOS 15+ (#577) via Toni Rico (@tonidero)
Bugfixes #
- Fix integration tests (#584) via Cesar de la Vega (@vegaro)
- Fix macOS compilation (#582) via Cesar de la Vega (@vegaro)
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.10.0 (#588) via RevenueCat Git Bot (@RCGitBot)
4.7.0 #
4.6.0 #
Dependency Updates #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.7.0 (#566) via RevenueCat Git Bot (@RCGitBot)
- (iOS 4.16.0)[https://github.com/RevenueCat/purchases-ios/releases/tag/4.16.0]
Other Changes #
- Adds missing params for better changelogs when bumping (#569) via Cesar de la Vega (@vegaro)
- Update Gemfile.lock (#568) via Cesar de la Vega (@vegaro)
- remove stalebot in favor of SLAs in Zendesk (#563) via Andy Boedo (@aboedo)
- Update fastlane-plugin-revenuecat_internal to latest version (#561) via Cesar de la Vega (@vegaro)
4.5.5 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.4 (#558) via RevenueCat Git Bot (@RCGitBot)
4.5.4 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.3 (#553) via RevenueCat Git Bot (@RCGitBot)
4.5.3 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.2 (#550) via RevenueCat Git Bot (@RCGitBot)
4.5.2 #
Bugfixes #
- Fix for java.lang.IllegalAccessError: Interface androidx.lifecycle.c (#547) via Cesar de la Vega (@vegaro)
4.5.1 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.1 (#544) via RevenueCat Git Bot (@RCGitBot)
- Update ReadMe.md (#524) via kmurphy-rc (@kmurphy-rc)
4.5.0 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.0 (#539) via RevenueCat Git Bot (@RCGitBot)
4.4.3 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.4 (#534) via RevenueCat Git Bot (@RCGitBot)
4.4.2 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.3 (#532) via RevenueCat Git Bot (@RCGitBot)
4.4.1 #
Other Changes #
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.1 (#528) via RevenueCat Git Bot (@RCGitBot)
- Update Fastlane plugin (#525) via Cesar de la Vega (@vegaro)
4.4.0 #
New Features #
- Add setCleverTapId, setMixpanelDistinctID, setFirebaseAppInstanceId (#522) via Sergio Durban Belmonte (@sdurban)
Other Changes #
- [AUTOMATIC] Updates purchases-hybrid-common to 4.4.0 (#523) via RevenueCat Git Bot (@RCGitBot)
- Makes hold job depend on integration tests (#521) via Cesar de la Vega (@vegaro)
4.3.2 #
Other Changes #
- Update fastlane-plugin-revenuecat_internal (#518) via Cesar de la Vega (@vegaro)
- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.6 (#517) via RevenueCat Git Bot (@RCGitBot)
4.3.1 #
Other Changes #
- [AUTOMATIC] Updates purchases-hybrid-common to 4.3.2 (#502) via RevenueCat Git Bot (@RCGitBot)
- Ignore Podfile.lock files (#503) via Cesar de la Vega (@vegaro)
- Update update-hybrid-common-versions parameters (#495) via Cesar de la Vega (@vegaro)
4.3.0 #
Other Changes #
- Another fix on update_hybrid_common (#491) via Cesar de la Vega (@vegaro)
- Fix dirty repository when upgrading phc version (#483) via Cesar de la Vega (@vegaro)
- [AUTOMATIC] Updates purchases-hybrid-common from 4.2.2 to 4.3.1 (#490) via Cesar de la Vega (@vegaro)
- Run flutter pub get before pod install when upgrading phc (#481) via Cesar de la Vega (@vegaro)
- Calls correct lane when automatically upgrading phc (#478) via Cesar de la Vega (@vegaro)
4.2.2 #
Other Changes #
- [AUTOMATIC] Updates purchases-hybrid-common to 4.2.2 (#476) via RevenueCat Git Bot (@RCGitBot)
- Creates update-hybrid-common-versions and updated manual bump (#473) via Cesar de la Vega (@vegaro)
- Adds lane to update purchases-hybrid-common (#468) via Cesar de la Vega (@vegaro)
- Remove wrong link from Changelog (#464) via Cesar de la Vega (@vegaro)
- Move to SNAPSHOT version on every commit to main if needed (#466) via Toni Rico (@tonidero)
- add SDK reference docs link (#461) via Andy Boedo (@aboedo)
4.2.1 #
Fixes #
purchaseProduct
not working when SK2 is enabled (https://github.com/RevenueCat/react-native-purchases/issues/402)
Other Changes #
- Updated purchases-hybrid-common to 4.2.1
- Skip release if needed and change type of message (#460) via Cesar de la Vega (@vegaro)
- Update fastlane-plugin-revenuecat_internal (#456) via Cesar de la Vega (@vegaro)
- Update RELEASING docs (#458) via Cesar de la Vega (@vegaro)
- Add
next_version
andautomatic_release
to automatic_bump (#457) via Cesar de la Vega (@vegaro) - Release train (#454) via Cesar de la Vega (@vegaro)
- Configures Danger (#452) via Cesar de la Vega (@vegaro)
4.2.0 #
Fixes #
- Fixed crash when cancelling purchases (#403) via NachoSoto (@NachoSoto)
Other Changes #
- Updated
purchases-ios
to 4.10.2 - Re-enabled
SK2
as the default on iOS PurchasesFlutterPlugin
: silenced unused warning (#444) via NachoSoto (@NachoSoto)README
: removedAmazon
note since it's now supported. (#442) via NachoSoto (@NachoSoto)- Update fastlane plugin (#440) via Toni Rico (@tonidero)
4.1.1 #
4.1.0 #
New features #
- New method for automatic collecting of attribution tokens on iOS and macOS using AdServices -
Purchases.enableAdServicesAttributionTokenCollection()
(https://github.com/RevenueCat/purchases-ios/pull/1727)
Other Changes #
- Updating Hybrid Common to 4.1.0 (#424)
4.0.1 #
4.0.0 #
RevenueCat Flutter SDK v4 is here!!
⚠️ ⚠️ Important ⚠️ ⚠️ Observer mode for Amazon is not supported yet.
Features #
Amazon Appstore Support
We have introduced support for using the Amazon Appstore. We have extensively tested this, and there are some apps using our pre-release Amazon versions in production.
However, we have found some inconsistencies in the way Amazon Appstore prices are reported. We are actively working on patching these inconsistencies.
Please help us help you by reporting any issues you find. New RevenueCat Issue.
You can enable Amazon Appstore support by configuring the SDK using the new RevenueCatAPIKeyAmazon
field.
For more information around configuration please take a look at the Amazon Appstore section in our docs. The official Amazon In-App Purchasing docs also contain very valuable information, especially around testing and best practices.
StoreKit 2 support
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types and cleaned up naming
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
Deprecated APIs #
3.x | 4.0.0 |
---|---|
Purchases.setup |
Purchases.configure |
Removed APIs #
3.x | 4.0.0 |
---|---|
IntroductoryPrice.periodUnit (String ) |
IntroductoryPrice.periodUnit (PeriodUnit ) |
IntroductoryPrice.introPrice |
IntroductoryPrice.price |
IntroductoryPrice.introPriceString |
IntroductoryPrice.priceString |
IntroductoryPrice.introPricePeriod |
IntroductoryPrice.period |
IntroductoryPrice.introPricePeriodNumberOfUnits |
IntroductoryPrice.periodNumberOfUnits |
IntroductoryPrice.introPriceCycles |
IntroductoryPrice.cycles |
Purchases.addAttributionData |
Set<NetworkID> |
Purchases.identify |
Purchases.logIn |
Purchases.createAlias |
Purchases.logIn |
Purchases.reset |
Purchases.logOut |
PurchasesAttributionNetwork |
Set<NetworkID> |
Renamed APIs #
3.x | 4.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
Transaction |
StoreTransaction |
Product |
StoreProduct |
Discount |
StoreProductDiscount |
PaymentDiscount |
PromotionalOffer |
Package.product |
Package.storeProduct |
Purchases.PurchaserInfoUpdateListener |
Purchases.CustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPurchaseInfo |
Purchases.getCustomerInfo |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Moved classes #
Store
enum has been moved fromentitlement_info_wrapper.dart
tostore.dart
4.0.0-rc.2 #
- Fixes userCancelled crash: PR
4.0.0-rc.1 #
⚠️ ⚠️ Important ⚠️ ⚠️ Observer mode for Amazon is not supported yet.
Features #
Amazon Appstore Support
We have introduced support for using the Amazon Appstore. We have extensively tested this, and there are some apps using our pre-release Amazon versions in production.
However, we have found some inconsistencies in the way Amazon Appstore prices are reported. We are actively working on patching these inconsistencies.
Please help us help you by reporting any issues you find. New RevenueCat Issue.
You can enable Amazon Appstore support by configuring the SDK using the new RevenueCatAPIKeyAmazon
field.
For more information around configuration please take a look at the Amazon Appstore section in our docs. The official Amazon In-App Purchasing docs also contain very valuable information, especially around testing and best practices.
StoreKit 2 support
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types and cleaned up naming
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
Deprecated APIs #
3.x | 4.0.0 |
---|---|
Purchases.setup |
Purchases.configure |
Removed APIs #
3.x | 4.0.0 |
---|---|
IntroductoryPrice.periodUnit (String ) |
IntroductoryPrice.periodUnit (PeriodUnit ) |
IntroductoryPrice.introPrice |
IntroductoryPrice.price |
IntroductoryPrice.introPriceString |
IntroductoryPrice.priceString |
IntroductoryPrice.introPricePeriod |
IntroductoryPrice.period |
IntroductoryPrice.introPricePeriodNumberOfUnits |
IntroductoryPrice.periodNumberOfUnits |
IntroductoryPrice.introPriceCycles |
IntroductoryPrice.cycles |
Purchases.addAttributionData |
Set<NetworkID> |
Purchases.identify |
Purchases.logIn |
Purchases.createAlias |
Purchases.logIn |
Purchases.reset |
Purchases.logOut |
PurchasesAttributionNetwork |
Set<NetworkID> |
Renamed APIs #
3.x | 4.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
Transaction |
StoreTransaction |
Product |
StoreProduct |
Discount |
StoreProductDiscount |
PaymentDiscount |
PromotionalOffer |
Package.product |
Package.storeProduct |
Purchases.PurchaserInfoUpdateListener |
Purchases.CustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPurchaseInfo |
Purchases.getCustomerInfo |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Moved classes #
Store
enum has been moved fromentitlement_info_wrapper.dart
tostore.dart
4.0.0-rc.1 #
⚠️ ⚠️ Important ⚠️ ⚠️ Observer mode for Amazon is not supported yet.
Features #
Amazon Appstore Support
We have introduced support for using the Amazon Appstore. We have extensively tested this, and there are some apps using our pre-release Amazon versions in production.
However, we have found some inconsistencies in the way Amazon Appstore prices are reported. We are actively working on patching these inconsistencies.
Please help us help you by reporting any issues you find. New RevenueCat Issue.
You can enable Amazon Appstore support by configuring the SDK using the new RevenueCatAPIKeyAmazon
field.
For more information around configuration please take a look at the Amazon Appstore section in our docs. The official Amazon In-App Purchasing docs also contain very valuable information, especially around testing and best practices.
StoreKit 2 support
This version of the SDK automatically uses StoreKit 2 APIs under the hood only for APIs that the RevenueCat team has determined work better than StoreKit 1.
New types and cleaned up naming
New types that wrap native types from Apple, Google and Amazon, and we cleaned up the naming of other types and methods for a more consistent experience.
Deprecated APIs #
3.x | 4.0.0 |
---|---|
Purchases.setup |
Purchases.configure |
Removed APIs #
3.x | 4.0.0 |
---|---|
IntroductoryPrice.periodUnit (String ) |
IntroductoryPrice.periodUnit (PeriodUnit ) |
IntroductoryPrice.introPrice |
IntroductoryPrice.price |
IntroductoryPrice.introPriceString |
IntroductoryPrice.priceString |
IntroductoryPrice.introPricePeriod |
IntroductoryPrice.period |
IntroductoryPrice.introPricePeriodNumberOfUnits |
IntroductoryPrice.periodNumberOfUnits |
IntroductoryPrice.introPriceCycles |
IntroductoryPrice.cycles |
Purchases.addAttributionData |
Set<NetworkID> |
Purchases.identify |
Purchases.logIn |
Purchases.createAlias |
Purchases.logIn |
Purchases.reset |
Purchases.logOut |
PurchasesAttributionNetwork |
Set<NetworkID> |
Renamed APIs #
3.x | 4.0.0 |
---|---|
PurchaserInfo |
CustomerInfo |
Transaction |
StoreTransaction |
Product |
StoreProduct |
Discount |
StoreProductDiscount |
PaymentDiscount |
PromotionalOffer |
Package.product |
Package.storeProduct |
Purchases.PurchaserInfoUpdateListener |
Purchases.CustomerInfoUpdateListener |
Purchases.removePurchaserInfoUpdateListener |
Purchases.removeCustomerInfoUpdateListener |
Purchases.restoreTransactions |
Purchases.restorePurchases |
Purchases.getPurchaseInfo |
Purchases.getCustomerInfo |
Purchases.invalidatePurchaserInfoCache |
Purchases.invalidateCustomerInfoCache |
Purchases.getPaymentDiscount |
Purchases.getPromotionalOffer |
Moved classes #
Store
enum has been moved fromentitlement_info_wrapper.dart
tostore.dart
4.0.0-beta.1 #
⚠️⚠️ This is a pre-release version. ⚠️⚠️
purchaserInfo
renamed tocustomerInfo
- Renamed
StoreProduct
,StoreTransaction
andStoreProductDiscount
.package.product
topackage.storeProduct
- Store enum has been moved into store.dart
setup
changed withconfigure
Known issues: Amazon support currently doesn't work correctly in the Live App Testing and production environments. The purchase modal will not show correctly for Amazon in these environments.
3.10.0 #
- Add support for iOS promoted purchases (https://github.com/RevenueCat/purchases-flutter/pull/344)
New type:
ReadyForPromotedProductPurchaseListener
New methods:addReadyForPromotedProductPurchaseListener(ReadyForPromotedProductPurchaseListener listener)
removeReadyForPromotedProductPurchaseListener(ReadyForPromotedProductPurchaseListener listenerToRemove)
3.9.5 #
- Add instructions for how to install Amazon Store version in README (https://github.com/RevenueCat/purchases-flutter/pull/330)
3.9.4 #
- Add back IntroductoryPrice fields that were accidentally removed without a major release (https://github.com/RevenueCat/purchases-flutter/pull/319)
- Fields added back:
IntroductoryPrice.introPricePeriodUnit
IntroductoryPrice.introPrice
IntroductoryPrice.introPriceString
IntroductoryPrice.introPriceCycles
IntroductoryPrice.introPricePeriodNumberOfUnits
3.9.3 #
- Fix missing IntroductoryPrice export (https://github.com/RevenueCat/purchases-flutter/pull/310)
3.9.2 #
- Fix
purchasePackage
,purchaseProduct
,purchaseDiscountedPackage
andpurchaseDiscountedProduct
crashes due to a wrong type. - Added missing freezed files. https://github.com/RevenueCat/purchases-flutter/pull/301
- CI fail if missing freezed files https://github.com/RevenueCat/purchases-flutter/pull/302
3.9.1 #
- Fixed a crash in
getOfferings
on Android for products that don't have intro pricing https://github.com/RevenueCat/purchases-flutter/pull/294 - Update Freezed dependency to 1.1.0, updated freezed-annotation and other dependencies https://github.com/RevenueCat/purchases-flutter/pull/297
3.9.0 #
- Updated Android to compile with SDK 30 https://github.com/RevenueCat/purchases-flutter/pull/285
- Removed all references to JCenter (More on the JCenter Shutdown) https://github.com/RevenueCat/purchases-flutter/pull/285
- Updated JSON serialization using Freezed https://github.com/RevenueCat/purchases-flutter/pull/270
- Breaking changes (these were unintended and fixed in 3.9.4):
IntroductoryPrice.introPricePeriodUnit
->IntroductoryPrice.periodUnit
(+ changed from string to PeriodUnit enum type)IntroductoryPrice.introPrice
->IntroductoryPrice.price
IntroductoryPrice.introPriceString
->IntroductoryPrice.priceString
IntroductoryPrice.introPriceCycles
->IntroductoryPrice.cycles
IntroductoryPrice.introPricePeriodNumberOfUnits
->IntroductoryPrice.periodNumberOfUnits
3.8.0 #
- Added
isConfigured
, which returnstrue
if the SDK has already been configured throughsetup
. - Added compatibility for
EntitlementInfo.ownershipType
for Android https://github.com/RevenueCat/purchases-hybrid-common/pulls/106 - Bump
purchases-hybrid-common
to1.11.1
Changelog here - Bump
purchases-ios
to3.13.1
(Changelog here) - Bump
purchases-android
to4.6.0
(Changelog here)
3.7.0 #
- Bump
purchases-hybrid-common
to1.11.0
Changelog here Add ownershipType to EntitlementInfo
3.6.0 #
- Bump
purchases-hybrid-common
to1.10.0
Changelog here - Bump
purchases-ios
to3.13.0
(Changelog here) - Bump
purchases-android
to4.4.0
(Changelog here) - Added support for Airship integration via
setAirshipChannelID
https://github.com/RevenueCat/purchases-flutter/pull/272
3.5.0 #
- Removed call to
Purchases.getSharedInstance().close();
inonDetachedFromEngine
. This should fix an incompatibility withworkmanager
Flutter plugin that was causing the BillingClient to get disconnected after a task would finish. - Added a new
close()
function to be called in Android whenever the resources used by Purchases should be released. https://github.com/RevenueCat/purchases-flutter/pull/268 https://github.com/RevenueCat/purchases-flutter/issues/257 - Bump
purchases-hybrid-common
to 1.9.3 Changelog here - Bump
purchases-ios
to 3.12.8 3.12.8 Changelog here 3.12.7 Changelog here
3.4.6 #
- Bump
purchases-hybrid-common
to 1.9.2 Changelog here - Bump
purchases-android
to4.3.3
4.3.3 Changelog here 4.3.2 Changelog here - Bump
purchases-ios
to 3.12.6 3.12.6 Changelog here 3.12.5 Changelog here 3.12.4 Changelog here
3.4.5 #
- Bumped purchases-android to 4.3.1 Changelog here, which fixes canMakePayments not returning (see related issue: https://github.com/RevenueCat/purchases-unity/issues/61)
- Bumped purchases-hybrid-common to 1.9.1 Changelog here
3.4.4 #
- Buggy release - meant to update purchases-hybrid-common to 1.9.1 (and therefore purchases-android to 4.3.1), but didn't end up actually pulling it in...fixed in 3.4.5
3.4.3 #
- Fixed more deprecation warnings for types used for compatibility with Flutter apps using Flutter < 1.12. https://github.com/RevenueCat/purchases-flutter/pull/235
3.4.2 #
- Fixed deprecation warnings for types used for compatibility with Flutter apps using Flutter < 1.12. https://github.com/RevenueCat/purchases-flutter/pull/232
- Bumped
purchases-hybrid-common
to 1.8.2. Changelog here https://github.com/RevenueCat/purchases-flutter/pull/233
3.4.1 #
- Fixed a bug where the wrong error code would be returned when mapping to JSON in Android.
- Bumped
purchases-hybrid-common
to 1.8.1. Changelog here https://github.com/RevenueCat/purchases-flutter/pull/225
3.4.0 #
Identity V3: #
In this version, we’ve redesigned the way that user identification works. Detailed docs about the new system are available here.
New methods
- Introduces
logIn
, a new way of identifying users, which also returns whether a new user has been registered in the system.logIn
uses a new backend endpoint. - Introduces
logOut
, a replacement forreset
.
Deprecations
- deprecates
createAlias
in favor oflogIn
. - deprecates
identify
in favor oflogIn
. - deprecates
reset
in favor oflogOut
. - deprecates
setAllowSharingStoreAccount
in favor of dashboard-side configuration. https://github.com/RevenueCat/purchases-flutter/pull/180
Other
- Updated BillingClient to version 4.0.0. https://github.com/RevenueCat/purchases-android/commit/f6554bbf7376c3fd492f0bc67183a9f35889ae78
- Bumped purchases-ios to 3.12.2 Changelog here
- Bumped purchases-android to 4.3.0 Changelog here
3.3.1 #
- Update MacOS dependency on PurchasesHybridCommon to 1.7.1 (https://github.com/RevenueCat/purchases-flutter/pull/209)
3.3.0 #
- Bump gradle to 4.0.1 (https://github.com/RevenueCat/purchases-flutter/pull/195)
- Add
canMakePayments
method (https://github.com/RevenueCat/purchases-flutter/pull/193) - Bump
purchases-hybrid-common
to 1.7.1 Changelog here - Update PR template (https://github.com/RevenueCat/purchases-flutter/pull/199)
3.2.2 #
- Bumped purchases-hybrid-common to 1.6.3 to fix issues with overlapping Foundation extensions names in iOS Changelog here
3.2.1 #
- Added link to examples in GitHub https://github.com/RevenueCat/purchases-flutter/pull/185
3.2.0 #
- Added new Magic Weather sample app, available in
revenuecat_examples/MagicWeather
https://github.com/RevenueCat/purchases-flutter/pull/170
3.1.1 #
- Fixed an issue that would cause an error saying
type 'Null' is not a subtype of type 'String' in type cast
inallExpirationDates
when null-safety is enabled. https://github.com/RevenueCat/purchases-flutter/pull/177 - Bumped purchases-hybrid-common to 1.6.2 Changelog here
- Bumped purchases-ios to 3.10.7 Changelog here
- Bumped purchases-android to 4.0.5 Changelog here https://github.com/RevenueCat/purchases-flutter/pull/171
3.1.0 #
- iOS:
- Added a new method
setSimulatesAskToBuyInSandbox
, that allows developers to test deferred purchases easily.
- Added a new method
- Bumped purchases-hybrid-common to 1.6.1 Changelog here
- Bumped purchases-ios to 3.10.6 Changelog here
- Bumped purchases-android to 4.0.4 Changelog here https://github.com/RevenueCat/purchases-flutter/pull/171
3.0.2 #
- Fixes versions number in plugin files https://github.com/RevenueCat/purchases-flutter/pull/166
3.0.1 #
- Fixes exception when calling
getProducts
andcheckTrialOrIntroductoryPriceEligibility
https://github.com/RevenueCat/purchases-flutter/issues/163 https://github.com/RevenueCat/purchases-flutter/pull/164
3.0.0 #
- Adds null safety support and increases minimum Dart SDK version to 2.12.0 https://github.com/RevenueCat/purchases-flutter/pull/155 https://github.com/RevenueCat/purchases-flutter/pull/161
- Removes all analyzer warnings. https://github.com/RevenueCat/purchases-flutter/pull/154
2.0.3 #
- Fixed build issue on macOS targets https://github.com/RevenueCat/purchases-flutter/pull/151
2.0.2 #
- Updated pubspec.yaml https://github.com/RevenueCat/purchases-flutter/pull/147
2.0.1 #
- Updated pubspec.yaml https://github.com/RevenueCat/purchases-flutter/pull/143
2.0.0 #
-
removes deprecated
getEntitlements
, replaced bygetOfferings
-
removes deprecated
makePurchase
, replaced bypurchaseProduct
-
iOS:
- added new method,
syncPurchases
, that enables syncing the purchases in the local receipt with the backend without risking a password prompt. The method was already available on Android. - added a new method,
presentCodeRedemptionSheet
, for offer codes redemption.
- added new method,
-
Bumped purchases-hybrid-common to 1.5.0 Changelog here
-
Bumped purchases-ios to 3.9.2 Changelog here
-
Bumped purchases-android to 4.0.1 Changelog here
1.4.3 #
- Explicitly added
Purchases
framework to podspec's linker flags so it gets correctly linked in the plugin pod. Fixed mapping of xcconfig files in Runner example. https://github.com/RevenueCat/purchases-flutter/pull/128
1.4.2 #
- Moved from valid architectures to excluded architectures in the Podfile, following Flutter's example. https://github.com/RevenueCat/purchases-flutter/pull/127
1.4.1 #
- Bumped common files to 1.4.5 Changelog here https://github.com/RevenueCat/purchases-flutter/pull/121
1.4.0 #
- Bumped common files to 1.4.4 Changelog here
- Added MacOS support
- Added subscription offers support
1.3.1 #
- Build config updates to fix build issues on iOS:
- Added DEFINES_MODULE build setting for cocoapods projects
- added swift version
- made framework compile statically
- replaced #import with @import https://github.com/RevenueCat/purchases-flutter/pull/100
- bumped iOS version to 3.7.2
- bumped
purchases-hybrid-common
version to 1.4.3
1.3.0 #
- Attribution V2:
- Deprecated
addAttribution
in favor ofsetAdjustId
,setAppsflyerId
,setFBAnonymousId
,setMparticleId
. - Added support for OneSignal via
setOnesignalId
- Added
setMediaSource
,setCampaign
,setAdGroup
,setAd
,setKeyword
,setCreative
, andcollectDeviceIdentifiers
https://github.com/RevenueCat/purchases-android/pull/184
- Deprecated
- Bumped
purchases-hybrid-common
to 1.4.2 Changelog here - Bumped
purchases-ios
to 3.7.1 Changelog here - Bumped
purchases-android
to 3.5.0 Changelog here
1.2.1 #
- Fix a NullPointerException in the Android plugin (https://github.com/RevenueCat/purchases-flutter/pull/83)
- Made some clarifications on the docs for the type parameter in getProducts and purchaseProduct (https://github.com/RevenueCat/purchases-flutter/pull/81)
1.2.0 #
- Bumped iOS to 3.4.0 Changelog here
- Bumped Android to 3.2.0 Changelog here
- Upgrade Flutter Android APIs (https://github.com/RevenueCat/purchases-flutter/pull/74)
- Adds userDefaultsSuiteName as an option when setting up the SDK (https://github.com/RevenueCat/purchases-flutter/pull/70)
- Added managementURL to PurchaserInfo (https://github.com/RevenueCat/purchases-flutter/pull/67)
- Added originalPurchaseDate to PurchaserInfo (https://github.com/RevenueCat/purchases-flutter/pull/66)
- Added
setProxyURL
(https://github.com/RevenueCat/purchases-flutter/pull/63) - Exposes
setFinishTransactions
(https://github.com/RevenueCat/purchases-flutter/pull/45) - Adds missing error codes (https://github.com/RevenueCat/purchases-flutter/pull/64)
- Adds new headers for platformFlavor and platformFlavorVersion (https://github.com/RevenueCat/purchases-flutter/pull/57, https://github.com/RevenueCat/purchases-flutter/pull/46)
1.1.1 #
- Update README.md to remove macOS support (#52)
- Await setDebugLogsEnabled before next steps in the sample app (#38)
1.1.0 #
- Adds Subscriber Attributes, which allow developers to store additional, structured information for a user in RevenueCat. More info: https://docs.revenuecat.com/docs/user-attributes.
1.0.5 #
- Updates README.md
- Specifies compatible platforms
1.0.4 #
- Fixes
getOffering
always returns null #19
1.0.3 #
- Fixes crash when there's no offerings #17
1.0.2 #
- Fixes issue with older versions of Kotlin (#15)
- Updates README.md
- Adds checkTrialOrIntroductoryPriceEligibility
1.0.1 #
- Android updated to 3.0.3
1.0.0 #
- Added
PurchasesErrorHelper.getErrorCode(PlatformException)
and enum ofPurchasesErrorCode
to make handling errors easier. (#3) - Support for new Offerings system.
- Deprecates
makePurchase
methods. Replaces withpurchasePackage
- Deprecates
getEntitlements
method. Replaces withgetOfferings
- See our migration guide for more info: https://docs.revenuecat.com/v3.0/docs/offerings-migration
- Updates to BillingClient 2.0.3. If finishTransactions is set to false (or observerMode is true when configuring the SDK), this SDK won't acknowledge any purchase.
- Adds proration mode support on upgrades/downgrades (#14)
- Adds
requestDate
and PurchaserInfo missing properties #12 - New identity changes:
- The .createAlias() method is no longer required, use .identify() instead
- .identify() will create an alias if being called from an anonymous ID generated by RevenueCat
- Added an isAnonymous property to Purchases.sharedInstance
- Improved offline use
0.3.3 #
- Dynamically access context and activity from registrar (https://github.com/RevenueCat/purchases-flutter/pull/11)
0.3.2 #
- Fixes
expirationDate
in EntitlementInfo for iOS.
0.3.1 #
- Fixes crash when there's a trial period and not an introductory price on Android.
0.3.0 #
- Deprecates
activeEntitlements
in PurchaserInfo and addsentitlements
object to PurchaserInfo. For more info check out https://docs.revenuecat.com/docs/purchaserinfo - Fixes exception when calling
makePurchase
with a bad product identifier in iOS - Fixes
makePurchase
missing theuserCancelled
boolean in Android - Fixes
makePurchase
not working in Android when calling witholdSkus
parameter - Fixes trial info being lost in Android. Access
introductoryPrice
in the product information to get information around the trial period.
0.2.2 #
- Upgrades Android SDK to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.1
0.2.1 #
- Makes some changes to the introductory pricing due to some inconsistencies introduced in 0.2.0. Introductory pricing is now an object part of the product.
0.2.0 #
- Upgrades iOS SDK to https://github.com/RevenueCat/purchases-ios/releases/tag/2.5.0
- Upgrades Android SDK to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.0.
- Adds Facebook as supported attribution network.
- Adds automatic Apple Search Ads attribution collection. Disabled by default.
- Adds introductory pricing to the iOS product.
0.1.4 #
- Fixes UninitializedPropertyAccessException when trying to close the instance onDestroy of the Android Activity.
0.1.3 #
- Formats files
0.1.2 #
- Adds more docs to custom types
- Fixes report issue link
0.1.1 #
- Fixes userCancelled in Android
- Adds docs
0.1.0 #
- Initial release