๐จ๏ธConfigure Revenuecat
This guide will walk you through how to get up and running with subscriptions and RevenueCat's SDK with only a few lines of code.
1. Create a RevenueCat Account
Sign up for a new RevenueCat account here.
Organizations / Enterprise
We recommend using a company account when registering for RevenueCat and setting up your app within a project. You'll be able to invite the rest of your team as collaborators to your project, but only the project owner can manage billing. Project collaborators can't manage billing details.
2. Project and App Configuration
โถ๏ธ Create a Project
Navigate to the RevenueCat dashboard and add a new project from the dropdown in the top navigation menu called Projects.
The popup modal for creating a new Project
โถ๏ธ Add an App / Platform
From Project Settings > Apps in the left menu of the project dashboard, select the platform for the app you will be adding.
Project dashboard for selecting the app platform
The field App name is required to add your app to RevenueCat. For iOS apps In-App Purchase Key(iOS) is also required. To make test and production purchases, the Bundle ID (iOS) / Package Name (Android) as well as the Shared Secret(iOS) / Service Credentials (Android) must be configured.
๐If you try making purchases without a bundle ID and valid credentials, the SDK will fail with a 'receipt is not valid' error as RevenueCat will be unable to validate the transaction with the store.
The rest of the configuration fields can be added later.
App configuration page for an Apple App Store app
๐๐ก Here's a tip!After registering your app, we recommend setting up Platform Server Notifications. These notifications aren't required but will speed up webhooks and integration delivery times and reduce lag time updating your subscribers.
๐Staging vs. Production apps and usersRevenueCat itself does not have separate environments for staging and production. Rather, the underlying transactions for users are differentiated by sandbox and production.
Any RevenueCat app can make both sandbox and production purchases from the stores. If you do have separate apps for staging and production, you can create multiple projects in RevenueCat to mirror your setup.
Furthermore, users are not separated by environment, either. The same user can have active sandbox purchases and active production purchases at the same time.
โถ๏ธ Service Credentials
Service credentials need to be set up for RevenueCat to communicate with the app stores on your behalf. See our guides App Store Connect Shared Secret, App Store In-App Purchase Key, Play Service Credentials, and Amazon Appstore Shared Secret for more information.
Note that Play service credentials can take up to 36 hours to propagate throughout Google's servers.
3. Product Configuration
โถ๏ธ Store Setup
Before you can start using RevenueCat to fetch products, you must configure your products in the respective stores. See the following guides for App Store Connect, Google Play Console, Amazon Appstore, and Stripe for help navigating through this process.
If you are selling iOS products, be sure to sign your 'Paid Applications Agreement' and fill out your bank and tax information in App Store Connect > Agreements, Tax, and Banking. This needs to be completed before you can test any purchases.
๐Want to skip the store setup while testing?On iOS, you can delay configuring products in App Store Connect by testing with StoreKit Configuration files instead. These config files require minimal setup and are configurable via Xcode directly.
Read more about setting up StoreKit Configuration files in our Sandbox Testing guide.
โถ๏ธ Configure Products and Entitlements in RevenueCat
Once your in-app products have been configured in App Store Connect, Google Play Console, Amazon Appstore, or Stripe, you'll need to copy that configuration into the RevenueCat dashboard. RevenueCat uses an Entitlements system to control access to premium features, and Offerings to manage the set of products you offer to customers.
Entitlements are the level of access that a customer is "entitled" to after purchasing a specific product, and Offerings is a simple way for you to organize the in-app products you wish to "offer" on your paywall and configure them remotely. We recommend utilizing these features to simplify your code and enable you to change products without releasing an app update.