RevenueCat(売上管理サービス)の一括統合 — ダッシュボード側の設定をRevenueCat MCP または `rc` CLI(プロジェクト、アプリ、パブリックAPI キー)で行い、アプリに Purchases SDK(購読機能ライブラリ)をインストール・設定します。 次のような場合に使用: ユーザーが RevenueCat の追加、Purchases の統合、RevenueCat SDK のインストール、RevenueCat API キーの設定、起動時の Purchases 設定、または iOS・Android・Kotlin Multiplatform・Flutter・React Native での新規 RevenueCat 統合の構築をリクエストした場合。
End-to-end RevenueCat integration — sets up the dashboard side via the RevenueCat MCP or the `rc` CLI (project, app, public API key) and installs/configures the Purchases SDK in the app. Use when the user asks to add RevenueCat, integrate Purchases, install the RevenueCat SDK, set up a RevenueCat API key, configure Purchases on launch, or set up a brand new RevenueCat integration on iOS, Android, Kotlin Multiplatform, Flutter, or React Native.
次のような場合に使用: ユーザーが初めてRevenueCatをプロジェクトに追加したい場合、または公開APIキーでSDK(ソフトウェア開発キット)を再設定したい場合。このスキルは2つの部分で構成されています:
rc CLI(コマンドラインツール)を通じて公開APIキーを取得します。Purchases.configure(…) を呼び出し、ログの設定情報を確認します。この順序で進めてください。ユーザーが「SDKをインストールするだけ」と言っても、ほとんどの統合では両方の部分が必要です。SDKがダッシュボードから得たAPIキーが必要だからです。
プロジェクトとアプリが既に存在し、ユーザーがSDKをコードに組み込みたいだけの場合は、以下の「セクション3」にスキップしてください。 ユーザーが新しいRevenueCatプロジェクトをまっさらから作成したい場合(アプリ、商品、権限、オファリング(販売プランセット)を含む)は、代わりに
create-revenuecat-projectスキルを使用してから、ここに戻ってSDKをインストールしてください。
スラッシュコマンドとして実行する際に $ARGUMENTS で利用可能:
platform(オプション): ios、android、kmp、flutter、react-native のいずれか。省略した場合、セクション3aの検出アルゴリズムを実行します。app_identifier(オプション): Bundle ID(iOS)またはパッケージ名(Android)。省略した場合、プロジェクトファイル(Info.plist、AndroidManifest.xml、app.json、pubspec.yaml)から読み取ります。project_name(オプション): 使用するRevenueCatプロジェクト名。省略した場合、プロジェクト一覧を表示(MCPまたは rc projects list 経由)してユーザーに確認します。ダッシュボードに手を加える前に、情報を集めてください:
Info.plist / AndroidManifest.xml / app.json / pubspec.yaml から取得してください。ユーザーに尋ねるのではなく。ユーザーが利用可能などちらかを使用してください: RevenueCat MCPサーバーまたは rc CLI(revenuecat-cli スキルでCLIの発見と慣例を参照)。どちらも以下のステップで同じ操作をカバーしており、各ステップはMCPツールと rc コマンドを記載しています。
list-projects(MCP)または rc projects list。複数ある場合、ユーザーにこのアプリに該当するものはどれかを確認するか、新しいプロジェクトの作成を提案してください(create-project / rc projects create)。create-revenuecat-project スキルに引き継ぎ、ここで再開してください。project_id を保存してください。list-apps / rc apps list)。test_store アプリは常に存在します。app_store と play_store アプリはユーザーがストア側のセットアップを完了した場合にのみ存在します。test_store アプリだけで統合を開始するのに十分であることを安心させてください。create-app(または rc apps create)を呼び出してください:
type: "app_store"、セクション1から bundle_id を指定。type: "play_store"、セクション1から package_name を指定。name は識別子から導出するか、ユーザーに確認してください。list-public-api-keys(MCP)または rc apps keys <app-id>:
app_store / play_store。test_store アプリ。appl_… で始まり、Androidキーは goog_…、Amazonキーは amzn_… です。クライアントコードで秘密APIキーを絶対に使用しないでください。 秘密キーはサーバー側専用です。
作業ディレクトリを調べ、最初に一致するものをトップから順に選んでください:
package.json に react-native-purchases エントリがある、または react-native が依存関係として存在 → platforms/react-native.md を読んでください。expo も依存関係としてある場合は、Expoプロジェクトとして記録してください。pubspec.yaml がプロジェクトルートに存在 → platforms/flutter.md を読んでください。build.gradle.kts にKotlinマルチプラットフォームのソースセットブロック(kotlin { … })が含まれている、または com.revenuecat.purchases:purchases-kmp* に依存 → platforms/kmp.md を読んでください。build.gradle(.kts) が com.android.application を適用している(KMPではない) → platforms/android.md を読んでください。Package.swift、*.xcodeproj、*.xcworkspace、または Podfile がプロジェクトルートに存在 → platforms/ios.md を読んでください。複数が一致する場合(例: Flutterプロジェクト内の ios/ フォルダ)、最上位のプロジェクト(ビルドを所有するもの)を選んでください。それでも曖昧な場合は、ユーザーにどのプラットフォームを設定したいかを尋ねてください。
appl_… キーを使用し、Androidアプリは goog_… キー(Amazonは amzn_…)を使用します。サーバー側の秘密キーはクライアントアプリに出現してはいけません。Purchases.configure(…) を正確に1回、できるだけ早く(アプリエントリーポイント)呼び出してください。その後の呼び出しは無視するか警告が出ます。appUserID を渡さない場合、RevenueCatは安定した匿名IDを作成します。起動時に既に認証されたユーザーがいる場合のみ appUserID を渡してください。そうでない場合は後で logIn(…) を呼び出してください(revenuecat-identify-user スキルを参照)。.env(RN)、xcconfig(iOS)、local.properties / gradle.properties(Android)、または dart-define(Flutter)を推奨してください。検出に一致するプラットフォームファイルを読んでください:
platforms/ios.mdplatforms/android.mdplatforms/kmp.mdplatforms/flutter.mdplatforms/react-native.md各プラットフォームファイルは独立しています: インストールコマンド、正確な configure スニペット、アプリエントリーポイントに配置する場所。
セットアップが完了したと主張する前に、以下を確認してください:
./gradlew assembleDebug、flutter run、npx react-native run-ios、またはKMP等価物)。ユーザーが実行せずに「インストール」だけを依頼した場合、アプリを実行する際にログで何を探すべきかを伝えてください。
プロジェクトで商品、権限、オファリングが既にセットアップされているか確認してください。そうでない場合は、create-revenuecat-project スキル経由での支援を提案してください。
iOS(App Store Connect)
.p8 ファイルをダウンロードしてください。Key IDと Issuer IDを記録してください。create-app / update-app 経由)。Android(Google Play Console)
create-app / update-app 経由で登録してください。integrate-revenuecat の一般的なフォローアップ:
revenuecat-paywall — ダッシュボード設定のペイウォール(購入促進画面)を表示します。revenuecat-purchase-flow — 購入と復元を手動で実装します。revenuecat-entitlements-gate — アクティブな権限の背後に機能をゲート(制限)します。revenuecat-identify-user — logIn / logOut をアプリの認証システムに接続します。revenuecat-testing-setup — サンドボックステストチャネルをセットアップします。revenuecat-troubleshoot — オファリング / 商品 / 権限のバグを診断します。Use this skill when the user wants to add RevenueCat to a project for the first time, or to reconfigure the SDK with a public API key. The skill covers two halves:
rc CLI.Purchases.configure(…) at app entry, and verify the configuration banner in the logs.Walk them in order. Most integrations need both halves, even when the user asks "just install the SDK" — the SDK needs an API key from the dashboard.
If a project + app already exist and the user only wants to wire the SDK into code, jump to Section 3 below. If the user wants to bootstrap a brand new RevenueCat project (apps + products + entitlements + offerings), use the
create-revenuecat-projectskill instead, then come back here for the SDK install.
Available as $ARGUMENTS when invoked as a slash command:
platform (optional): One of ios, android, kmp, flutter, react-native. If omitted, run the detection algorithm in Section 3a.app_identifier (optional): Bundle ID (iOS) or package name (Android). If omitted, read it from the project files (Info.plist, AndroidManifest.xml, app.json, pubspec.yaml).project_name (optional): Name of the RevenueCat project to use. If omitted, list projects (via MCP or rc projects list) and ask the user.Before touching the dashboard, gather the facts:
Info.plist / AndroidManifest.xml / app.json / pubspec.yaml rather than asking.Use whichever surface the user has available: the RevenueCat MCP server or the rc CLI (see the revenuecat-cli skill for CLI discovery and conventions). Both cover the same operations for these steps, and each step below notes the MCP tool and the rc command.
list-projects (MCP) or rc projects list. If multiple, ask the user which one matches this app, or offer to create a new one (create-project / rc projects create).create-revenuecat-project skill, then resume here.project_id for the rest of the steps.list-apps / rc apps list). A test_store app is always present; app_store and play_store apps are present only if the user has finished store-side setup.test_store app is enough to start integrating.create-app (or rc apps create):
type: "app_store", bundle_id from Section 1.type: "play_store", package_name from Section 1.name derived from the identifier or asked from the user.list-public-api-keys (MCP) or rc apps keys <app-id>:
app_store / play_store if the store-side app exists.test_store app.appl_…, Android keys goog_…, Amazon amzn_….Never use the secret API key in client code. Secret keys are server-side only.
Inspect the working directory and pick the first match, from top to bottom:
package.json has a react-native-purchases entry, or react-native as a dependency → read platforms/react-native.md. If expo is also a dependency, note it as an Expo project.pubspec.yaml exists at the project root → read platforms/flutter.md.build.gradle.kts contains a kotlin { … } multiplatform source sets block, or depends on com.revenuecat.purchases:purchases-kmp* → read platforms/kmp.md.build.gradle(.kts) applies com.android.application (and is not KMP) → read platforms/android.md.Package.swift, *.xcodeproj, *.xcworkspace, or Podfile at the project root → read platforms/ios.md.If several match (e.g. an ios/ folder inside a Flutter project), pick the outermost project, the one that owns the build. If still ambiguous, ask the user which platform they want to configure.
appl_… key, Android apps use a goog_… key (Amazon uses amzn_…). Server-side secret keys must never appear in client apps.Purchases.configure(…) exactly once, as early as possible (app entry point). Later calls no-op or warn.appUserID, RevenueCat creates a stable anonymous ID. Only pass appUserID if you already have an authenticated user at launch; otherwise call logIn(…) later (see the revenuecat-identify-user skill)..env (RN), xcconfig (iOS), local.properties / gradle.properties (Android), or dart-define (Flutter) when the user asks about secret management.Read the platform file that matches detection:
platforms/ios.mdplatforms/android.mdplatforms/kmp.mdplatforms/flutter.mdplatforms/react-native.mdEach platform file is self-contained: install command, exact configure snippet, and where to place it in the app entry point.
Do not claim setup is complete until:
./gradlew assembleDebug, flutter run, npx react-native run-ios, or the KMP equivalent).If the user only asked to "install" without running the app, tell them what to look for in the logs when they do run it.
Check whether products, entitlements, and offerings are already set up in the project. If not, offer to help via the create-revenuecat-project skill.
iOS (App Store Connect)
.p8 file. Note the Key ID and Issuer ID.create-app / update-app.Android (Google Play Console)
create-app / update-app.Common follow-ups after integrate-revenuecat:
revenuecat-paywall — display a dashboard-configured paywall.revenuecat-purchase-flow — implement purchase + restore manually.revenuecat-entitlements-gate — gate features behind active entitlements.revenuecat-identify-user — wire logIn / logOut to the app's auth system.revenuecat-testing-setup — set up a sandbox testing channel.revenuecat-troubleshoot — diagnose offerings / products / entitlement bugs.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。