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.
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.
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.
- 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.
- Cloud Functions 位置
- RevenueCat Webhook Events Firestore collection
- Location of the customers collection
- Should custom claims be set in Firebase Auth with the user's active entitlements?
- RevenueCat Firebase Integration Shared Secret
类型: Cloud Function
说明: Listens for RevenueCat server webhook requests, and store customer information and events in Cloud Firestore.
使用 Firebase 控制台
要安装和管理扩展程序，您可以使用 Firebase 控制台。使用控制台安装
使用 Firebase CLI
要安装和管理扩展程序，您还可以使用 Firebase CLI：
步骤 1：运行以下 npm 命令来安装 CLI 或将 CLI 更新到最新版本。
npm install -g firebase-tools不能运行？请参阅 Firebase CLI 参考文档或者更改您的 npm 权限。
第 2 步：设置一个新的 Firebase 项目目录或转到现有目录
第 3 步：将此扩展程序添加到扩展程序清单中
firebase ext:install revenuecat/firestore-revenuecat-purchases --local --project=projectId_or_alias
第 4 步（可选）：使用 Firebase Emulator Suite 在本地测试此扩展程序
第 5 步：将清单中的扩展程序部署到项目中
firebase deploy --only extensions --project=projectId_or_alias