Enable In-App Purchases with RevenueCat
Made by RevenueCat
Facilitates in-app purchases and subscriptions, controls access to premium content, and syncs purchase information to Firestore.
- Works with
- Cloud Firestore and Authentication
- 0.1.7 | Source code
How this extension works
RevenueCat’s app monetization platform empowers developers to confidently deploy in-app purchases and subscriptions, centralize data, and grow revenue. RevenueCat builds and adapts to the ever-changing needs of in-app purchase infrastructure, freeing app businesses to invest their time and resources in growing their product.
Install this extension to use Firebase services as your RevenueCat backend for in-app purchases on Apple App Store, Google Play Store, and Amazon Appstore.
The extension makes in-app purchases and subscriptions, controls access to premium content, and syncs customer purchase information to Firestore using RevenueCat.
This extension can:
- Store purchase lifecycle events (e.g., trial starts, purchases, subscription renewals, billing issues) in Firestore and react to them.
- Store and update information about customers and their purchases in Firestore.
- Update information about customers’ entitlements as Firebase Authentication Custom Claims.
RevenueCat supports both native iOS and Android apps as well as hybrid cross-platform apps in React Native, Flutter, Unity, Cordova, and Ionic.
You need to create a RevenueCat account or already have one set up to use this extension.
This extension emits events, which allows you to listen to and run custom logic at different trigger points during the functioning of the extension. For example you can listen to events when a new subscription has been purchased via the
initial_purchase event, or whenever a subscription or non-renewing purchase has been cancelled through the
Before installing this extension, set up the following Firebase services in your Firebase project:
- Cloud Firestore to store In-App Purchases & Subscriptions details.
- Follow the steps in the documentation to create a Cloud Firestore database.
- (optional) Firebase Authentication to enable different sign-up options for your users to enable Custom Claims management.
- Enable the sign-in methods in the Firebase console that you want to offer your users.
- Create a RevenueCat Project if you haven’t already.
- Set up a Firebase integration in RevenueCat: Go to your project settings, and under “Integrations”, click “Add”, then “Firebase”.
- From the newly created integration, copy your shared secret. You will need this to set up the extension.
Follow the steps in the RevenueCat documentation to add the RevenueCat SDK to your mobile app. In addition, follow the instructions to set up the Firebase Integration inside the app by:
- Listening to Firebase Authentication events and setting the RevenueCat app user ID to the Firebase UID.
- Setting the reserved RevenueCat subscriber attribute
$firebaseAppInstanceIdto the Firebase App Instance ID if you want to send events to Google Analytics for Firebase.
This extension uses the following Firebase services which may have associated charges:
- Cloud Firestore
- Cloud Functions
- Cloud Secret Manager
- If you enable events Eventarc fees apply.
This extension also uses the following third-party services:
- RevenueCat (RevenueCat pricing information).
You are responsible for any costs associated with your use of these services.