- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.8.0 (#1201) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.7.0 (#1196) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.15.2 to 1.16.0 (#1195) via dependabot[bot] (@dependabot[bot])
- Bump danger from 9.5.0 to 9.5.1 (#1190) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.224.0 to 2.225.0 (#1189) via dependabot[bot] (@dependabot[bot])
- Support displaying deferred win-back StoreKit messages (#1194) via Will Taylor (@fire-at-will)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.5.1 (#1182) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.5.0 (#1180) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.223.1 to 2.224.0 (#1178) via dependabot[bot] (@dependabot[bot])
- Fix double callbacks issue in PaywallView (RevenueCat/purchases-ios#4333)
- Fix area insets in PaywallView (#1179) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.4.0 (#1174) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.222.0 to 2.223.1 (#1173) via dependabot[bot] (@dependabot[bot])
- Update fastlane plugin (#1176) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.3.0 (#1171) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.2.1 (#1164) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane-plugin-revenuecat_internal from 5140dbc to 55a0455 (#1165) via Cesar de la Vega (@vegaro)
- Update allowSharingAppStoreAccount Deprecation Message (#1163) via Will Taylor (@fire-at-will)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.2.0 (#1157) via RevenueCat Git Bot (@RCGitBot)
- Bump rexml from 3.3.4 to 3.3.6 (#1151) via dependabot[bot] (@dependabot[bot])
- Update fastlane-plugin-revenuecat_internal (#1158) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.1.0 (#1148) via RevenueCat Git Bot (@RCGitBot)
- Fix purchases-ui-flutter main SDK version substitution (#1147) via Toni Rico (@tonidero)
- Remove embedding v1 support (#1141) via Toni Rico (@tonidero)
If you're using embedding v1, please check how to migrate in the official flutter docs.
- Refine StoreKitVersion logging in configure function (#1143) via Will Taylor (@fire-at-will)
- v7-MIGRATION.md typo fix (#1144) via Will Taylor (@fire-at-will)
- Parse recordPurchase response (#1138) via Will Taylor (@fire-at-will)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.0.1 (#1136) via RevenueCat Git Bot (@RCGitBot)
- Update iOS deployment target in readme (#1137) via Will Taylor (@fire-at-will)
- Update fastlane-plugin-revenuecat_internal (#1133) via Mark Villacampa (@MarkVillacampa)
- update purchases_flutter dependency to 7.0.0 on purchases_ui_flutter (#1132) via Mark Villacampa (@MarkVillacampa)
This latest release updates the Android SDK dependency from v7 to v8 to use BillingClient 7 and updates the iOS SDK dependency from v4 to v5 to use StoreKit 2 by default in the SDK.
- See Android Native - V8 API Migration Guide for a more thorough explanation of the Android changes.
- See iOS Native - V5 Migration Guide for a more thorough explanation of the iOS changes. Notably, this version uses StoreKit 2 to process purchases by default.
This release raises the minumum required OS versions to the following:
- iOS 13.0
- tvOS 13.0
- watchOS 6.2
- macOS 10.15
- Android: SDK 21 (Android 5.0)
In order to use StoreKit 2, you must configure your In-App Purchase Key in the RevenueCat dashboard. You can find instructions describing how to do this here.
When configuring the SDK, the usesStoreKit2IfAvailable
parameter has been replaced by an optional storeKitVersion: STOREKIT_VERSION
parameter. It defaults to letting the iOS SDK determine the most appropriate version of StoreKit at runtime. If you'd like to use a specific version of StoreKit, you may provide a value for storeKitVersion
like so:
PurchasesConfiguration configuration = PurchasesConfiguration("myAPIKey");
configuration.storeKitVersion = StoreKitVersion.storeKit1;
Purchases.configure(configuration);
Version 7.0 of the SDK deprecates the term "Observer Mode" (and the APIs where this term was used), and replaces it with PurchasesAreCompletedBy
(either RevenueCat or your app). When specifying that your app will complete purchases, you must provide the StoreKit version that your app is using to make purchases on iOS. If your app is only available on Android, you may provide any value since the native Android SDK ignores this value.
You can enable it when configuring the SDK:
PurchasesConfiguration configuration = PurchasesConfiguration("myAPIKey");
configuration.purchasesAreCompletedBy = PurchasesAreCompletedByMyApp(
storeKitVersion: StoreKitVersion.storeKit2,
);
Purchases.configure(configuration);
By default, when purchases are completed by your app using StoreKit 2 on macOS, the SDK does not detect a user's purchase until after the user foregrounds the app after the purchase has been made. If you'd like RevenueCat to immediately detect the user's purchase, call Purchases.recordPurchase(productID)
for any new purchases, like so:
await Purchases.recordPurchase(productID);
If purchases are completed by your app using StoreKit 1, you will need to explicitly configure the SDK to use StoreKit 1:
PurchasesConfiguration configuration = PurchasesConfiguration("myAPIKey");
configuration.purchasesAreCompletedBy = PurchasesAreCompletedByMyApp(
storeKitVersion: StoreKitVersion.storeKit1,
);
Purchases.configure(configuration);
Full migration guide to V7: Flutter - V7 API Migration Guide
- Bump danger from 9.4.3 to 9.5.0 (#1128) via dependabot[bot] (@dependabot[bot])
- Bump fastlane from 2.221.1 to 2.222.0 (#1126) via dependabot[bot] (@dependabot[bot])
- [PurchaseTester] Refactor upsell screen to display all offerings (#1123) via Toni Rico (@tonidero)
- Fix
syncObserverModeAmazonPurchase
deprecation warning (#1115) via Toni Rico (@tonidero)
- Add
OptIn
annotation on paywalls code (#1112) via Cesar de la Vega (@vegaro)
- Add support for
DEFERRED
upgrades and updates purchases-hybrid-common to 11.1.0 (#1108) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 11.0.0 (#1106) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.220.0 to 2.221.1 (#1102) via dependabot[bot] (@dependabot[bot])
- Adds .aiexclude (#1104) via JayShortway (@JayShortway)
- get_phc_version now also checks PHC UI versions (#1100) via JayShortway (@JayShortway)
- Removes api key from integration test (#1098) via JayShortway (@JayShortway)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.9.0 (#1096) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.8.0 (#1091) via RevenueCat Git Bot (@RCGitBot)
- Fix
purchaseDiscountedPackage
(#1080) via Toni Rico (@tonidero)
- Bump rexml from 3.2.6 to 3.2.8 (#1076) via dependabot[bot] (@dependabot[bot])
- [EXTERNAL] fix: call presentPaywallIfNeeded when needed (#1066) by @danjocha (#1069) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.2 (#1067) via RevenueCat Git Bot (@RCGitBot)
- Remove SafeArea in sample in paywall.dart (#1063) via Cesar de la Vega (@vegaro)
- Migration to applying Gradle plugins with the declarative plugins block in sample (#1062) via Cesar de la Vega (@vegaro)
- Crash on Amazon paywalls after purchasing (#1053) via Cesar de la Vega (@vegaro)
- BillingClient has been updated to version 6.2.1
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.1 (#1059) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.0 (#1056) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.5.1 (#1054) via RevenueCat Git Bot (@RCGitBot)
- Add
trigger_bump
lane (#1058) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.5.0 (#1051) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.2 (#1048) via RevenueCat Git Bot (@RCGitBot)
- Fix touches passing through paywall when using presentPaywall methods (#1044) via Toni Rico (@tonidero)
- Remove macos platform support in purchases_ui_flutter (#1041) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.1 and adds
externalStore
toStore
enum (#1043) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.4.0 (#1037) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.219.0 to 2.220.0 (#1035) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.3.2 (#1031) via RevenueCat Git Bot (@RCGitBot)
- Add
onDismiss
handler anddisplayCloseButton
toPaywallView
andPaywallFooterView
(#1009) via Toni Rico (@tonidero) - Add
PaywallFooterView
listeners (#1012) via Toni Rico (@tonidero) - Add
PaywallView
listeners (#995) via Cesar de la Vega (@vegaro)
- Fix footer sizing issues in iOS (#1018) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.2.0 (#1020) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.1.0 (#1013) via RevenueCat Git Bot (@RCGitBot)
- Add 5.8.2 to changelog (#1011) via Cesar de la Vega (@vegaro)
- Add dependency_overrides to purchases_flutter_ui (#1007) via Cesar de la Vega (@vegaro)
PaywallFooterView
support (#996) via Toni Rico (@tonidero)
- PaywallView support (#954) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.9.0 (#1003) via RevenueCat Git Bot (@RCGitBot)
- Change iOS platform version of purchase_tester (#1001) via Cesar de la Vega (@vegaro)
- Make
CustomerInfo
allPurchaseDates
values nullable (#989) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.8.0 (#990) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.7.2 (#984) via RevenueCat Git Bot (@RCGitBot)
- Fix ios integration tests (#985) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.7.1 (#978) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.7.0 (#977) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.15.1 to 1.15.2 (#975) via dependabot[bot] (@dependabot[bot])
- Update CHANGELOG to include 5.8.1 release notes (#973) via Toni Rico (@tonidero)
- [EXTERNAL] Adds productPlanIdentifier parameter to EntitlementInfo (#910) via @splangi (#960) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.6.0 (#971) via RevenueCat Git Bot (@RCGitBot)
- Bump danger from 9.4.2 to 9.4.3 (#967) via dependabot[bot] (@dependabot[bot])
- Bump cocoapods from 1.15.0 to 1.15.1 (#970) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.4.0 (#961) via RevenueCat Git Bot (@RCGitBot)
- Fix freezed tests after latest freezed update (#969) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.3.0 (#958) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.2.1 (#957) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.14.3 to 1.15.0 (#956) via dependabot[bot] (@dependabot[bot])
Paywalls
:displayCloseButton
parameter (#948) via NachoSoto (@NachoSoto)Paywalls
: addedOffering
parameter topresentPaywall
methods (#947) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.2.0 (#952) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.1.0 (#951) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 9.0.1 (#949) via RevenueCat Git Bot (@RCGitBot)
- Refactor and cleanup of purchase_tester (#950) via Cesar de la Vega (@vegaro)
Paywalls
: separatePurchasesHybridCommonUI
(#943) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.12.0 (#944) via RevenueCat Git Bot (@RCGitBot)
- Updates purchases-hybrid-common to 8.11.1 (#940) via RevenueCat Git Bot (@RCGitBot)
- Updates purchases-hybrid-common to 8.11.0 (#937) via RevenueCat Git Bot (@RCGitBot)
- 📱 Initial support for cross-platform RevenueCat Paywalls 🐾 🧱 (#931)
- For Android, you need to change your
MainActivity
to subclassFlutterFragmentActivity
instead ofFlutterActivity
. Also, the min sdk version of the new package is24
. Please make sure your app'sandroid/build.gradle
minSdkVersion has that or a higher version. - Add
purchases-ui-flutter
in yourpubspec.yaml
:
dependencies:
purchases_ui_flutter: 6.15.0
import 'package:purchases_ui_flutter/purchases_ui_flutter.dart';
await RevenueCatUI.presentPaywallIfNeeded("pro");
- Currently only full screen paywalls are supported
- There is no way to detect paywall events other than using
addCustomerInfoUpdateListener
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.2.1 (#912) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.217.0 to 2.218.0 (#918) via dependabot[bot] (@dependabot[bot])
- Bump danger from 9.4.1 to 9.4.2 (#896) via dependabot[bot] (@dependabot[bot])
- Fix freezed tests after latest update (#899) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.1.1 (#892) via RevenueCat Git Bot (@RCGitBot)
- Bump danger from 9.4.0 to 9.4.1 (#889) via dependabot[bot] (@dependabot[bot])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.1.0 (#890) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.14.2 to 1.14.3 (#876) via dependabot[bot] (@dependabot[bot])
Trusted Entitlements
: add support for settingEntitlementVerificationMode
and getting verification result inEntitlementInfos
andEntitlementInfo
(#753) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 8.0.0 (#878) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.4.0 (#871) via RevenueCat Git Bot (@RCGitBot)
- Bump fastlane from 2.216.0 to 2.217.0 (#865) via dependabot[bot] (@dependabot[bot])
- Bump danger from 9.3.2 to 9.4.0 (#866) via dependabot[bot] (@dependabot[bot])
- Fix flutter analyze deprecation warnings (#872) via Toni Rico (@tonidero)
CI
: disableprepare-next-version
(#869) via NachoSoto (@NachoSoto)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.3 (#864) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.2 (#859) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.3.0 (#850) via RevenueCat Git Bot (@RCGitBot)
Purchase Tester
: remove unusedActivity
(#860) via NachoSoto (@NachoSoto)- Remove
.common_version
(#861) via NachoSoto (@NachoSoto) - Add
3.10.1
toVERSIONS
(#858) via NachoSoto (@NachoSoto) - Remove unused GoogleProrationMode import (#848) via Toni Rico (@tonidero)
- [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)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.1.0 (#835) via RevenueCat Git Bot (@RCGitBot)
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.
RevenueCat SDK v7 bumps minimum Android SDK version from Android 4.0 (API level 16) to Android 4.4 (API level 19).
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);
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 7.0.0 (#828) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.3.2 (#1008) via RevenueCat Git Bot (@RCGitBot)
- Updates purchases-hybrid-common to 6.3.1 (#965)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.3.0 (#823) via RevenueCat Git Bot (@RCGitBot)
- Fix freezed tests (#824) via Toni Rico (@tonidero)
- [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])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 6.1.2 (#802) via RevenueCat Git Bot (@RCGitBot)
- [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])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.4 (#793) via RevenueCat Git Bot (@RCGitBot)
- [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)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.1 (#782) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.6.0 (#778) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.5.0 (#774) via RevenueCat Git Bot (@RCGitBot)
- [CI] Optionally run firebase tests only on non-main, non-release branches (#772) via Mark Villacampa (@MarkVillacampa)
- [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])
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.3.0 (#759) via RevenueCat Git Bot (@RCGitBot)
- Update freezed generated classes after freezed update (#760) via Toni Rico (@tonidero)
- Adds package back to AndroidManifest.xml (#749) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.4 (#750) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.3 (#744) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.2 (#740) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.2.0 (#735) via RevenueCat Git Bot (@RCGitBot)
- Fix flutter static analysis in pub.dev (#726) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 5.1.0 (#730) via RevenueCat Git Bot (@RCGitBot)
- [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)
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.
- 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.
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.
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 is still supported in v5. Other than updating the SDK version, there are no changes required.
✨ 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.
✨ 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!
- Fix deprecation warning (#694) via Andy Boedo (@aboedo)
- [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])
- 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)
- [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])
- [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])
- Update fastlane-plugin-revenuecat version (#669) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.2 (#661) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.1 (#645) via RevenueCat Git Bot (@RCGitBot)
- add
immediateAndChargeFullPrice
proration mode (#639) via Andy Boedo (@aboedo)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.14.0 (#640) via RevenueCat Git Bot (@RCGitBot)
- Deprecate revenueCatId in favor of transactionIdentifier (#612) via Toni Rico (@tonidero)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.5 (#631) via RevenueCat Git Bot (@RCGitBot)
- Bump cocoapods from 1.11.3 to 1.12.0 (#628) via dependabot[bot] (@dependabot[bot])
- Deprecate
usesStoreKit2IfAvailable
(#632) via Andy Boedo (@aboedo)
- 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)
- Fixes NullPointerException at setUpdatedCustomerInfoListener (#621) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.3 (#619) via RevenueCat Git Bot (@RCGitBot)
- [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])
- Add
syncObserverModeAmazonPurchase
(#609) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.13.1 (#611) via RevenueCat Git Bot (@RCGitBot)
- fix(example): fix LogLevel debug enum (#610) via Majid Hajian (@mhadaily)
- Sends PurchasesCustomerInfoUpdatedEvent and PurchasesReadyForPromotedProductPurchaseEvent on UiThread (#600) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.12.1 (#603) via RevenueCat Git Bot (@RCGitBot)
- Added Purchases.setLogHandler (#591) via Cesar de la Vega (@vegaro)
- Added
Purchases.setLogLevel
(#589) via NachoSoto (@NachoSoto)
- Fix error code parsing from native layer (#585) via Toni Rico (@tonidero)
- [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)
- 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)
- 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)
- Fix integration tests (#584) via Cesar de la Vega (@vegaro)
- Fix macOS compilation (#582) via Cesar de la Vega (@vegaro)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.10.0 (#588) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.8.0 (#572) via RevenueCat Git Bot (@RCGitBot)
- Update Gemfile.lock (#573) via Cesar de la Vega (@vegaro)
- Remove web support from description in pub.dev (#574) via Andy Boedo (@aboedo)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.7.0 (#566) via RevenueCat Git Bot (@RCGitBot)
- 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)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.4 (#558) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.3 (#553) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.2 (#550) via RevenueCat Git Bot (@RCGitBot)
- Fix for java.lang.IllegalAccessError: Interface androidx.lifecycle.c (#547) via Cesar de la Vega (@vegaro)
- [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)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.5.0 (#539) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.4 (#534) via RevenueCat Git Bot (@RCGitBot)
- [AUTOMATIC BUMP] Updates purchases-hybrid-common to 4.4.3 (#532) via RevenueCat Git Bot (@RCGitBot)
- [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)
- Add setCleverTapId, setMixpanelDistinctID, setFirebaseAppInstanceId (#522) via Sergio Durban Belmonte (@sdurban)
- [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)
- 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)
- [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)
- 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)
- [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)
purchaseProduct
not working when SK2 is enabled (RevenueCat/react-native-purchases#402)
- 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)
- Fixed crash when cancelling purchases (#403) via NachoSoto (@NachoSoto)
- 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)
- Bump compileSdkVersion to version 31 (#436) via Toni Rico (@tonidero)
- Fix for no-op calls on Android (enableAdServicesAttributionTokenCollection) (#434) via Josh Holtz (@joshdholtz)
- Setup credentials in prepare_next_version job (#430) via Toni Rico (@tonidero)
- New method for automatic collecting of attribution tokens on iOS and macOS using AdServices -
Purchases.enableAdServicesAttributionTokenCollection()
(RevenueCat/purchases-ios#1727)
- Updating Hybrid Common to 4.1.0 (#424)
- Kotlin to 1.6.21
- purchases-hybrid-common to 4.0.2
- purchases-ios to 4.9.1
- purchases-android to 5.4.1
In addition to all the changes included in the latest major release 4.0.0!
RevenueCat Flutter SDK v4 is here!!
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.
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 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.
3.x | 4.0.0 |
---|---|
Purchases.setup |
Purchases.configure |
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> |
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 |
Store
enum has been moved fromentitlement_info_wrapper.dart
tostore.dart
- Fixes userCancelled crash: PR
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.
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 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.
3.x | 4.0.0 |
---|---|
Purchases.setup |
Purchases.configure |
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> |
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 |
Store
enum has been moved fromentitlement_info_wrapper.dart
tostore.dart
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.
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 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.
3.x | 4.0.0 |
---|---|
Purchases.setup |
Purchases.configure |
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> |
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 |
Store
enum has been moved fromentitlement_info_wrapper.dart
tostore.dart
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.
- Add support for iOS promoted purchases (#344)
New type:
ReadyForPromotedProductPurchaseListener
New methods:addReadyForPromotedProductPurchaseListener(ReadyForPromotedProductPurchaseListener listener)
removeReadyForPromotedProductPurchaseListener(ReadyForPromotedProductPurchaseListener listenerToRemove)
- Add instructions for how to install Amazon Store version in README (#330)
- Add back IntroductoryPrice fields that were accidentally removed without a major release (#319)
- Fields added back:
IntroductoryPrice.introPricePeriodUnit
IntroductoryPrice.introPrice
IntroductoryPrice.introPriceString
IntroductoryPrice.introPriceCycles
IntroductoryPrice.introPricePeriodNumberOfUnits
- Fix missing IntroductoryPrice export (#310)
- Fix
purchasePackage
,purchaseProduct
,purchaseDiscountedPackage
andpurchaseDiscountedProduct
crashes due to a wrong type. - Added missing freezed files. #301
- CI fail if missing freezed files #302
- Fixed a crash in
getOfferings
on Android for products that don't have intro pricing #294 - Update Freezed dependency to 1.1.0, updated freezed-annotation and other dependencies #297
- Updated Android to compile with SDK 30 #285
- Removed all references to JCenter (More on the JCenter Shutdown) #285
- Updated JSON serialization using Freezed #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
- 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)
- Bump
purchases-hybrid-common
to1.11.0
Changelog here Add ownershipType to EntitlementInfo
- 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
#272
- 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. #268 #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
- 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
- Bumped purchases-android to 4.3.1 Changelog here, which fixes canMakePayments not returning (see related issue: RevenueCat/purchases-unity#61)
- Bumped purchases-hybrid-common to 1.9.1 Changelog here
- 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
- Fixed more deprecation warnings for types used for compatibility with Flutter apps using Flutter < 1.12. #235
- Fixed deprecation warnings for types used for compatibility with Flutter apps using Flutter < 1.12. #232
- Bumped
purchases-hybrid-common
to 1.8.2. Changelog here #233
- 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 #225
In this version, we’ve redesigned the way that user identification works. Detailed docs about the new system are available here.
- 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
.
- deprecates
createAlias
in favor oflogIn
. - deprecates
identify
in favor oflogIn
. - deprecates
reset
in favor oflogOut
. - deprecates
setAllowSharingStoreAccount
in favor of dashboard-side configuration. #180
- 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
- Update MacOS dependency on PurchasesHybridCommon to 1.7.1 (#209)
- Bump gradle to 4.0.1 (#195)
- Add
canMakePayments
method (#193) - Bump
purchases-hybrid-common
to 1.7.1 Changelog here - Update PR template (#199)
- Bumped purchases-hybrid-common to 1.6.3 to fix issues with overlapping Foundation extensions names in iOS Changelog here
- Added link to examples in GitHub #185
- Added new Magic Weather sample app, available in
revenuecat_examples/MagicWeather
#170
- 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. #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 #171
- 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 #171
- Fixes versions number in plugin files #166
- Adds null safety support and increases minimum Dart SDK version to 2.12.0 #155 #161
- Removes all analyzer warnings. #154
- Fixed build issue on macOS targets #151
- Updated pubspec.yaml #147
- Updated pubspec.yaml #143
-
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
- 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. #128
- Moved from valid architectures to excluded architectures in the Podfile, following Flutter's example. #127
- Bumped common files to 1.4.5 Changelog here #121
- Bumped common files to 1.4.4 Changelog here
- Added MacOS support
- Added subscription offers support
- 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 #100
- bumped iOS version to 3.7.2
- bumped
purchases-hybrid-common
version to 1.4.3
- Attribution V2:
- Deprecated
addAttribution
in favor ofsetAdjustId
,setAppsflyerId
,setFBAnonymousId
,setMparticleId
. - Added support for OneSignal via
setOnesignalId
- Added
setMediaSource
,setCampaign
,setAdGroup
,setAd
,setKeyword
,setCreative
, andcollectDeviceIdentifiers
RevenueCat/purchases-android#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
- Fix a NullPointerException in the Android plugin (#83)
- Made some clarifications on the docs for the type parameter in getProducts and purchaseProduct (#81)
- Bumped iOS to 3.4.0 Changelog here
- Bumped Android to 3.2.0 Changelog here
- Upgrade Flutter Android APIs (#74)
- Adds userDefaultsSuiteName as an option when setting up the SDK (#70)
- Added managementURL to PurchaserInfo (#67)
- Added originalPurchaseDate to PurchaserInfo (#66)
- Added
setProxyURL
(#63) - Exposes
setFinishTransactions
(#45) - Adds missing error codes (#64)
- Adds new headers for platformFlavor and platformFlavorVersion (#57, #46)
- Update README.md to remove macOS support (#52)
- Await setDebugLogsEnabled before next steps in the sample app (#38)
- 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.
- Updates README.md
- Specifies compatible platforms
- Fixes
getOffering
always returns null #19
- Fixes crash when there's no offerings #17
- Fixes issue with older versions of Kotlin (#15)
- Updates README.md
- Adds checkTrialOrIntroductoryPriceEligibility
- Android updated to 3.0.3
- 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
- Dynamically access context and activity from registrar (#11)
- Fixes
expirationDate
in EntitlementInfo for iOS.
- Fixes crash when there's a trial period and not an introductory price on Android.
- 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.
- Upgrades Android SDK to https://github.com/RevenueCat/purchases-android/releases/tag/2.3.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.
- 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.
- Fixes UninitializedPropertyAccessException when trying to close the instance onDestroy of the Android Activity.
- Formats files
- Adds more docs to custom types
- Fixes report issue link
- Fixes userCancelled in Android
- Adds docs
- Initial release