create-app
Step-by-step guide for setting up an iOS or Android app in RevenueCat. Use when configuring a new app with RevenueCat.
From rcnpx claudepluginhub anthropics/claude-plugins-official --plugin rcThis skill uses the workspace's default tool permissions.
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): Eitheriosorandroidapp_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