RevenueCat App Setup
Step-by-step guide for setting up an iOS or Android app in RevenueCat.
Description
Walks you through the complete app setup process including:
- •Creating the app in RevenueCat
- •Configuring store credentials (App Store Connect or Google Play Console)
- •Setting up products
- •Getting your API key
Usage
/rc:create-app <platform> [app_identifier] [project_name]
Arguments:
- •
platform(required): Eitheriosorandroid - •
app_identifier(optional): Bundle ID (iOS) or package name (Android) - •
project_name(optional): Name of the project to create the app in. If not provided, the user will be prompted to select a project.
Available as $ARGUMENTS.
Instructions
When the user invokes this skill, guide them through app setup:
- •
Parse Arguments (from $ARGUMENTS)
- •Extract
platform(required) - must beiosorandroid - •Extract
app_identifier(optional) - bundle ID or package name - •Extract
project_name(optional) - •Arguments can be in any order, but platform keywords (
ios,android) are detected first - •Project name matching is case-insensitive and supports partial matches
- •If platform is not provided, ask the user to specify it
- •Extract
- •
Get Projects
- •Call
mcp_RC_get_projectto retrieve all accessible projects - •If
project_nameis specified in arguments, filter projects by name (case-insensitive partial match) - •If no matching project found, inform the user and list available projects
- •If no
project_nameprovided, prompt the user to select a project - •Once project is selected, call
mcp_RC_list_appsto check if an app for this platform already exists
- •Call
- •
Create App (if needed) Ask for (if not in $ARGUMENTS):
- •iOS: Bundle ID from Xcode (e.g.,
com.company.appname) - •Android: Package name/applicationId from build.gradle (e.g.,
com.company.appname)
Then call
mcp_RC_create_appwith:- •iOS:
type: "app_store",bundle_id: provided value - •Android:
type: "play_store",package_name: provided value - •
name: derived from identifier or ask user
- •iOS: Bundle ID from Xcode (e.g.,
- •
Get API Key
- •Call
mcp_RC_list_public_api_keyswith the new app ID - •Provide the key with appropriate code snippet (Swift for iOS, Kotlin for Android)
- •Call
- •
Guide Through Store Setup
For iOS (App Store Connect):
a) In-App Purchase Key (Recommended for StoreKit 2)
- •App Store Connect → Users and Access → Integrations → In-App Purchase
- •Generate key, download .p8 file
- •Note the Key ID and Issuer ID
b) Shared Secret (Legacy StoreKit 1)
- •App Store Connect → App → App Information → App-Specific Shared Secret
For Android (Google Play Console):
a) Service Account Credentials
- •Create a service account in Google Cloud Console
- •Grant "Service Account User" role
- •Create JSON key
- •In Play Console, grant the service account access with "View financial data" permission
b) Real-time Developer Notifications (RTDN)
- •Set up Cloud Pub/Sub topic
- •Configure in Play Console → Monetization setup
- •
Provide SDK Integration Code Share the appropriate code for the platform.
Example Interactions
Example 1: iOS with project name
User: /rc:create-app ios com.awesomeapp.fitness "Fitness Tracker"
Assistant: I'll help you set up your iOS app in the Fitness Tracker project.
Step 1: Creating App
Creating iOS app with bundle ID: com.awesomeapp.fitness
App created successfully!
- •App ID: app1a2b3c4d5
- •Name: Fitness App
- •Platform: App Store
Step 2: Your API Key
import RevenueCat
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Purchases.logLevel = .debug // Remove in production
Purchases.configure(withAPIKey: "appl_aBcDeFgHiJkLmNoPqRsT")
return true
}
Step 3: App Store Connect Configuration
You'll need to configure credentials in the RevenueCat dashboard. Here's what to get from App Store Connect:
Option A: In-App Purchase Key (Recommended for StoreKit 2)
- •Go to App Store Connect → Users and Access → Integrations
- •Click "In-App Purchase" → Generate In-App Purchase Key
- •Download the .p8 file and note the Key ID
- •Copy the Issuer ID from the top of the page
- •Enter these in RevenueCat Dashboard → App Settings
Option B: Shared Secret (Legacy StoreKit 1)
- •Go to App Store Connect → Your App → App Information
- •Scroll to "App-Specific Shared Secret" → Manage
- •Generate or copy the secret
- •Enter in RevenueCat Dashboard → App Settings
Step 4: Create Products
Would you like me to help you create products? Use /rc:create-product to add subscriptions or one-time purchases.
Example 2: Android with project name
User: /rc:create-app android com.awesomeapp.fitness "Music Player"
Assistant: I'll help you set up your Android app in the Music Player project.
Step 1: Creating App
Creating Android app with package name: com.awesomeapp.fitness
App created successfully!
- •App ID: app1a2b3c4d5
- •Name: Fitness App
- •Platform: Play Store
Step 2: Your API Key
// Application.kt
import com.revenuecat.purchases.Purchases
import com.revenuecat.purchases.PurchasesConfiguration
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
Purchases.logLevel = LogLevel.DEBUG // Remove in production
Purchases.configure(
PurchasesConfiguration.Builder(this, "goog_aBcDeFgHiJkLmNoPqRsT").build()
)
}
}
Step 3: Google Play Console Configuration
You'll need to set up service account credentials:
Creating a Service Account:
- •Go to Google Cloud Console
- •Create a new project or select existing
- •Go to IAM & Admin → Service Accounts
- •Create Service Account with name like "revenuecat-integration"
- •Skip the optional steps, click Done
- •Click on the service account → Keys → Add Key → JSON
- •Download and save the JSON file securely
Granting Play Console Access:
- •Go to Google Play Console
- •Go to Users and Permissions → Invite new users
- •Enter the service account email (ends with @...iam.gserviceaccount.com)
- •Grant these permissions:
- •View financial data, orders, and cancellation survey responses
- •Manage orders and subscriptions
- •Add your app to the service account's access
Upload to RevenueCat: Upload the JSON file in RevenueCat Dashboard → App Settings → Service Credentials
Step 4: Create Products
Would you like me to help you create products? Use /rc:create-product to add subscriptions or one-time purchases.
Note: For Play Store, subscription products use the format product_id:base_plan_id
Example 3: Without platform
User: /rc:create-app
Assistant: I'll help you set up an app. Which platform are you setting up?
- •ios - App Store (iPhone, iPad, Mac)
- •android - Google Play Store
Example 4: Without project name
User: /rc:create-app ios
Assistant: I'll help you set up an iOS app. First, which project should this app belong to?
Available projects:
- •Fitness Tracker
- •Recipe App
- •Photo Editor
- •Music Player
- •Task Manager
iOS Checklist
After setting up an iOS app, make sure you have:
- • Added the RevenueCat SDK to your Xcode project
- • Configured your API key in your app
- • Set up App Store Connect credentials in RevenueCat dashboard
- • Created products in App Store Connect
- • Created matching products in RevenueCat
- • Created entitlements and offerings
- • Tested with sandbox account
Swift Package Manager
Add RevenueCat to your project:
https://github.com/RevenueCat/purchases-ios.git
Or with CocoaPods:
pod 'RevenueCat'
Android Checklist
After setting up an Android app, make sure you have:
- • Added the RevenueCat SDK to your app/build.gradle
- • Configured your API key in Application class
- • Created service account and uploaded credentials
- • Created products in Play Console (with base plans for subscriptions)
- • Created matching products in RevenueCat
- • Created entitlements and offerings
- • Set up Real-time Developer Notifications (optional but recommended)
- • Tested with a license tester account
Gradle Setup
Add to your app/build.gradle:
dependencies {
implementation 'com.revenuecat.purchases:purchases:7.+'
}
Or with Kotlin DSL:
dependencies {
implementation("com.revenuecat.purchases:purchases:7.+")
}
Product ID Format (Play Store)
For Play Store Billing Library 5+:
- •Subscriptions:
product_id:base_plan_id(e.g.,premium:monthly) - •One-time purchases: Just the SKU (e.g.,
lifetime_access)
Notes
iOS
- •Use a sandbox Apple ID for testing (Settings → App Store → Sandbox Account)
- •Enable StoreKit Testing in Xcode for local development
- •The API key shown is the PUBLIC key - safe to include in your app
Android
- •Add license testers in Play Console → Setup → License testing
- •Service account changes can take up to 24 hours to propagate
- •The API key shown is the PUBLIC key - safe to include in your app
- •For older apps still on Billing Library 4, use just the product ID for subscriptions