Projects

Configuring multiple Apps under a single Project

A Project is a set of Apps, and Apps are paired with a single platform. For example, a typical Project might contain one iOS App and one Google Play Store App. All Apps within one Project share the same basic setup, including entitlements, offerings, integrations, and webhooks.

24922492

👍

Legacy App Setup

Apps created before December 2021 have automatically been converted to Projects. You will not need to make any changes in order to keep your RevenueCat setup functional.

For example, an app that was set up for both iOS and Google Play has been converted to a Project with an iOS App and a Google Play App.

Creating a Project

To create a Project, click the '+ Create new project' button in the Projects dropdown panel at the top of the RevenueCat dashboard:

646646

You can customize your project by setting a name as well as your global restore behavior for the apps in your Project.

18661866

Creating an App

To add a new App to your Project, click the 'Apps' tab in your Project settings, then click '+ New' to select a platform for the App.

Each platform requires a different configuration depending on the requirements for that platform:

Apple

  • Bundle ID: The bundle identifier for the app.
  • App Store Connect App-Specific Shared Secret: The key required to validate purchases with Apple. Read more
  • In-App Purchase/Subscription Key: The Subscription key required for Promotional Offers. Read more
  • Apple Small Business Program: If you're a member of the App Store Small Business Program, this is the date of entry and (if applicable) exit. Read more

Google Play Store

  • Google Play package: The package identifier specified in your app's build.gradle file.
  • Service Account credentials JSON: Your service account credentials, required to validate purchases with Google. Read more
  • Google Developer Notifications: Optional, but recommended notifications to keep your transaction statuses in sync in real-time. Read more

Amazon

  • Amazon Store package: The package identifier specified in your app's build.gradle file.
  • Amazon Store Shared Secret: The key required to validate purchases with Amazon. Read more

Stripe

  • Stripe Webhook Secret: The webhook secret from Stripe when setting up server notifications. Read more

Shared App User ID Namespace

Apps within the same Project also share the same App User ID namespace, which means that they also share subscriptions. A user logged in to the same user ID in different Apps of the same Project will have access to the same entitlements. This allows sharing of subscription status between different Apps, even on the same platform.

Read more about App User IDs

API Keys

Each individual App in a Project has a separate API key, and the Purchases SDK should be configured with that key. The App specific API keys include a platform prefix, e.g. appl_xxxx for iOS apps.

🚧

Legacy public API keys will continue to be supported

Public API keys generated prior to the launch of RevenueCat's Prokect system will continue to work as before, but we recommend using the new App specific keys generated for your existing project.

Read more about API Keys

Considerations

Deleting Apps

Apps can't be deleted from a Project if there are any transactions (sandbox or production) associated with the App.