😻 In-app Subscriptions Made Easy 😻
purchases_flutter is a client for the RevenueCat subscription and purchase tracking system. It is an open source framework that provides a wrapper around
Google Play Billing and the RevenueCat backend to make implementing in-app subscriptions in
Flutter easy - receipt validation and status tracking included!
|✅||Server-side receipt validation|
|➡️||Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more|
|🎯||Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web|
|📊||Analytics - automatic calculation of metrics like conversion, mrr, and churn|
|📝||Online documentation up to date|
|🔀||Integrations - over a dozen integrations to easily send purchase data where you need it|
|💯||Well maintained - frequent releases|
|📮||Great support - Help Center|
|🤩||Awesome new features|
To use this plugin, add
purchases_flutter as a dependency in your pubspec.yaml file.
purchases_flutter requires XCode 10.2+ and minimum targets iOS 9.0+ and macOS 10.12+
Getting Started #
For more detailed information, you can view our complete documentation at docs.revenuecat.com.
getOfferingalways 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
PurchasesErrorHelper.getErrorCode(PlatformException)and enum of
PurchasesErrorCodeto make handling errors easier. (#3)
- Support for new Offerings system.
makePurchasemethods. Replaces with
getEntitlementsmethod. Replaces with
- 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)
requestDateand 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 (https://github.com/RevenueCat/purchases-flutter/pull/11)
expirationDatein EntitlementInfo for iOS.
- Fixes crash when there's a trial period and not an introductory price on Android.
activeEntitlementsin PurchaserInfo and adds
entitlementsobject to PurchaserInfo. For more info check out https://docs.revenuecat.com/docs/purchaserinfo
- Fixes exception when calling
makePurchasewith a bad product identifier in iOS
userCancelledboolean in Android
makePurchasenot working in Android when calling with
- Fixes trial info being lost in Android. Access
introductoryPricein 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
This project is a starting point for a Flutter application with a RevenueCat integration. For help getting started with, view our online documentation.
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
dependencies: purchases_flutter: ^1.0.4
2. Install it
You can install packages from the command line:
$ flutter pub get
Alternatively, your editor might support
flutter pub get.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Feb 12, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
- Dart: 2.7.1
- pana: 0.13.5
- Flutter: 1.12.13+hotfix.7
Maintenance issues and suggestions
Documentation URL doesn't exist. (-10 points)
At the time of the analysis the
https://docs.revenuecat.com/ was unreachable.