mcpField
R
rc-revenuecat-vs-raw-billing

rc-revenuecat-vs-raw-billing

github.com/revenuecat開発76622 回インストール1 日前に更新
リポジトリ

rc-revenuecat-vs-raw-billing について

RevenueCat と Google Play Billing Library の直接統合を比較する、Android 開発者向けの判断ガイドです。クライアントとサーバーの担当範囲を整理し、どちらの方式でもチームに残る作業を示します。

主な機能

  1. 01クライアント側の課金処理を比較
  2. 02購入バックエンドの責務を比較
  3. 03どちらでも必要な担当作業を特定
  4. 04直接 PBL が必要なケースを評価
  5. 05要件に沿って選択肢を整理

活用シーン

  1. 01サブスクリプション統合方式の選定
  2. 02購入処理に必要なバックエンド作業の見積もり
  3. 03直接 PBL 呼び出しを残すかの評価
  4. 04RevenueCat の対象外となる責務の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/revenuecat/ai-toolkit --skill rc-revenuecat-vs-raw-billing

インストール後、Claude Code で/rc-revenuecat-vs-raw-billingを入力して読み込まれたか確認します。

詳細

RevenueCat と Raw Google Play Billing の比較

フェーズ 0:目的

RevenueCat を統合するか、Google Play Billing Library(PBL)を直接組み込むかを選ぶときに、どの懸念事項が解消され、どれが移り、どれが引き続きチームの担当となるのかを確認するには、このスキルを使用してください。この判断の対象は、Android クライアントと、サブスクリプションまたは買い切り型の購入を支えるサーバー側インフラストラクチャの両方です。

このスキルでは、次のようなよくある質問に回答します。

  • RevenueCat を導入すると、アプリ内のどのクライアントコードが不要になりますか?
  • RevenueCat によって、バックエンドのどの要素(レシート検証、RTDN、状態マシン)が置き換えられますか?
  • どちらの方法を選んでも、自分たちで担当する必要があるのは何ですか?
  • 現時点で Raw PBL しか選択肢がない懸念事項はありますか?

フェーズ 1:対象の懸念事項を特定する

表を読む前に、実際に評価している内容を特定してください。要件を次のいずれかのカテゴリに分類し、該当するセクションに進んでください。

カテゴリ例参照先
クライアント側の購入処理BillingClient、リスナー、承認、消費クライアント側の表
サーバー側の購入情報トークンの検証、RTDN、エンタイトルメントの状態マシンサーバー側の表
どちらの対象範囲にも含まれないもの認証、ユーザーデータベース、ペイウォール UI、プッシュ通知自分たちの担当範囲の表

懸念事項が複数のカテゴリにまたがる場合(たとえば、RevenueCat がトークンを検証する一方で、API でプレミアムコンテンツへのアクセスを制御する必要がある場合)、検証自体が処理されていても、統合部分は自分たちで担当します。

フェーズ 2:比較リファレンス

クライアント側
懸念事項Raw PBLRevenueCat
BillingClient のセットアップと構成自分で記述内部で処理
接続のライフサイクルと再接続自分で記述内部で処理
PurchasesUpdatedListener自分で記述購入コールバックに置き換え
queryProductDetailsAsync()自分で記述awaitOfferings() / awaitGetProducts() に置き換え
launchBillingFlow()自分で記述awaitPurchase() 内部で呼び出し
購入後の承認自分で記述自動で処理
消耗品の消費自分で記述自動で処理(ダッシュボードで商品を消耗品として設定)
起動時の queryPurchasesAsync()自分で記述接続時に内部で処理
一時的なエラーへの再試行ロジック自分で記述SDK 内部で処理
BillingResponseCode の処理自分で記述PurchasesErrorCode に抽象化
アプリ内決済の回復メッセージ自分で記述自動(showInAppMessagesAutomatically = true)
オファーのサブスクリプションオプションの選択自分で記述defaultOption を自動選択
サーバー側
懸念事項Raw PBLRevenueCat
Google Play Developer API の統合自分で構築RevenueCat バックエンド
サービスアカウントの認証情報の管理自分で管理RC ダッシュボードで一度設定
購入ごとのレシート検証自分で構築自動
購入トークンの検証と重複排除自分で構築RevenueCat バックエンド
linkedPurchaseToken チェーンのたどり自分で構築RevenueCat バックエンド
RTDN の処理とディスパッチ自分で構築RevenueCat が処理し、ウェブフックを送信
Cloud Pub/Sub のセットアップ自分でセットアップ不要
バックエンドのサブスクリプション状態マシン自分で構築CustomerInfo を RC が算出
7 つの状態にまたがるエンタイトルメントの算出自分で構築isActive を RC が算出
猶予期間/アカウント保留の追跡自分で構築billingIssueDetectedAt
有効期限までアクセスを許可する解約処理自分で構築isActive + unsubscribeDetectedAt
価格コホートの追跡自分で構築RC バックエンドで処理
商品とエンタイトルメントのマッピング自分で構築RC ダッシュボードで設定
いずれの場合も引き続きお客様の責任となる事項
項目備考
ユーザー認証システムご自身で用意し、ユーザー ID を RC に渡します
独自のユーザーデータベースRC は主要なユーザーデータベースではありません
プレミアムコンテンツのサーバー側管理RC REST API または Webhook を使って確認します
Webhook 受信エンドポイントご自身で構築します。RC が送信し、お客様が受信します
Play Console での商品作成引き続き Play Console で行います
サブスクリプションの延期Google Play API を直接呼び出します
サブスクリプションの取り消しGoogle Play API を直接呼び出します
代替課金プログラムRC のサポートは限定的です。未加工の PBL が必要になる場合があります
アプリの UI(ペイウォール、オンボーディング)ご自身で構築します(RC Paywalls UI は任意です)
決済に関する問題のプッシュ通知Webhook イベントをもとにご自身で構築します

フェーズ 3:推奨の判断基準

次のルールに従って、表の内容をもとに判断してください。

  1. アプリでサブスクリプションの延期、取り消し、または RevenueCat がまだ対応していない代替課金プログラムが必要な場合は、主な選択肢にかかわらず、そうした特定の呼び出しには未加工の PBL を使う経路を残すよう計画してください。
  2. レシート検証サービス、RTDN パイプライン、サブスクリプション状態管理を一から構築する場合、サーバー側の表には RevenueCat が不要にする項目が少なくとも 8 つ記載されています。そのスタックを自社で管理する具体的な理由がない限り、RevenueCat を選択してください。
  3. 検証済みトークンとテスト済みの状態管理を備えた成熟した課金バックエンドがすでにある場合、得られる利点は小さくなります。RevenueCat によるクライアント側の簡素化や、ダッシュボード主導のカタログと比較して検討してください。
  4. 「引き続きお客様の責任となる事項」の各項目を担当する人員が確保されていることを必ず確認してください。RevenueCat は、認証、ユーザーデータベース、ペイウォール UI、プレミアムコンテンツへのアクセス制御を代替しません。appUserID を渡し、REST API または Webhook を介してサーバー側でエンタイトルメントを検証することも、引き続きお客様の責任です。
  5. 判断に迷った場合は、すべての要件を 3 つの表のいずれかの項目に当てはめてください。「引き続きお客様の責任となる事項」の表に該当するものは、どちらの選択肢でも同じコストがかかるため、判断材料にすべきではありません。

簡易チェック:

need custom RTDN pipeline?      -> raw PBL only if you must own it end to end
need deferral or revocation?    -> keep a raw PBL path for those API calls
need fast time to production?   -> RevenueCat, then add raw PBL escape hatches later

参考資料

コメント