mcpField
R
revenuecat-customer-center

revenuecat-customer-center

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

revenuecat-customer-center について

RevenueCat のダッシュボードで設定する Customer Center をアプリに追加するスキルです。複数の SDK に対応し、プラットフォームの判定から実装、検証までを案内します。

主な機能

  1. 01アプリのプラットフォーム判定
  2. 02Customer Center の設定案内
  3. 03ユーザーと購入の前提条件
  4. 04ライフサイクルコールバックの説明
  5. 05連携の検証手順

活用シーン

  1. 01アプリ設定へのサブスクリプション管理追加
  2. 02復元、解約、返金フローへの対応
  3. 03Customer Center 連携の確認

インストール

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

$npx skills add https://github.com/revenuecat/ai-toolkit --skill revenuecat-customer-center

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

platforms/
android.md
flutter.md
ios.md
kmp.md
react-native.md

詳細

revenuecat-customer-center:RevenueCat Customer Center を追加する

カスタム UI をリリースせずに、ユーザーが有効なサブスクリプションを管理したり、返金を申請したり、解約・復元したり、サポートに問い合わせたりできる既成の UI が必要な場合に、このスキルを使用します。UI は RevenueCat ダッシュボードで設定し、RevenueCatUI SDK によって表示されます。

前提条件:integrate-revenuecat がすでに実行されていること。Customer Center が顧客データを読み込む前に、Purchases.configure(…) が成功している必要があります。

1. プラットフォームを検出する

作業ディレクトリを調べ、上から順に最初に一致したものを選びます。

  1. React Native:package.json に react-native-purchases のエントリーがある、または react-native が依存関係に含まれている場合。Customer Center は react-native-purchases-ui に含まれています。platforms/react-native.md を読みます。expo も依存関係に含まれている場合は、Expo プロジェクトであることを記録します。
  2. Flutter:プロジェクトルートに pubspec.yaml がある場合。Customer Center は purchases_ui_flutter に含まれています。platforms/flutter.md を読みます。
  3. Kotlin Multiplatform:build.gradle.kts に kotlin { … } のマルチプラットフォームブロックがある、または com.revenuecat.purchases:purchases-kmp* に依存している場合。Customer Center のコンポーザブルは purchases-kmp-ui にあります。platforms/kmp.md を読みます。
  4. Android(ネイティブ):build.gradle(.kts) に com.android.application が適用されている(かつ KMP ではない)場合。Customer Center のコンポーザブルは com.revenuecat.purchases:purchases-ui にあります。platforms/android.md を読みます。
  5. iOS(ネイティブ):プロジェクトルートに Package.swift、*.xcodeproj、*.xcworkspace、または Podfile がある場合。CustomerCenterView は RevenueCatUI にあります。platforms/ios.md を読みます。

複数の条件に一致する場合(例:Flutter プロジェクト内に ios/ フォルダーがある場合)は、ビルドを管理する外側のプロジェクトを選びます。それでも判断できない場合は、設定するプラットフォームをユーザーに確認します。

2. 共通の概念(すべてのプラットフォーム)

  • Customer Center はダッシュボードで設定する UI です。 アクション、文言、プロモーションオファー、返金フロー、解約アンケートの選択肢、サポートの連絡先は、RevenueCat ダッシュボードの Customer Center で定義します。設定がない場合、ビューには最小限のデフォルトレイアウトが表示され、ユーザーにとって役立つ情報はほとんどありません。
  • 意味のある内容を表示するには、購入履歴のある識別済みユーザーが必要です。 ユーザーが匿名で購入履歴もない場合、Customer Center は空の状態、または復元のみ可能な状態で表示されます。アプリがログインに対応している場合は、Customer Center を開く前に Purchases.logIn(userId) を呼び出します。
  • Customer Center はペイウォールとは別のものです。 標準的なパターンでは、設定画面に「サブスクリプションを管理」という行を設け、Customer Center を開きます。ペイウォールは新規購入のためのもので、Customer Center は既存のサブスクライバーのためのものです。
  • フローは UI が管理します。 復元、解約、返金、プロモーションオファーの各フローはコンポーネント内で実行されます。フローを制御するのではなく、アプリのコードで対応するには、ライフサイクルコールバック(onRestoreCompleted、onRefundRequestStarted、onManagementOptionSelected、onPromotionalOfferSucceeded など)をリッスンします。
  • 利用できる機能はプラットフォームによって異なります。 Customer Center の提供開始は iOS が最も早く、Android、KMP、Flutter、React Native が続いています。各プラットフォームのファイルには、対応状況の差が記載されています。アプリ内で返金を申請できる機能は、Apple のみがアプリ内返金申請を提供しているため、iOS 専用です。Android では「サブスクリプションを管理」の項目から Google Play のサブスクリプション画面に移動します。
  • インストールされている SDK バージョンが Customer Center に対応していない場合は、手動のサブスクリプション管理画面で代替します。Purchases.customerInfo() からユーザーの有効なエンタイトルメントを表示し、Purchases.restorePurchases() ボタンを設置して、ストアのサブスクリプション管理 URL にリンクします。Customer Center の全機能を使いたい場合は、SDK をアップグレードするようユーザーに案内します。

3. 実装

検出結果に一致するプラットフォームのファイルを読みます。

  • platforms/ios.md
  • platforms/android.md
  • platforms/kmp.md
  • platforms/flutter.md
  • platforms/react-native.md

各プラットフォームのファイルには、インストールコマンド、カスタマーセンターを表示するための正確なスニペット、コールバックの形式がすべて記載されています。

4. 検証

次の条件を満たすまでは、統合が完了したと判断しないでください。

  1. 対象プラットフォームでプロジェクトがビルドされること。
  2. 少なくとも1つの有効なサンドボックスサブスクリプションを持つテストユーザーでアプリにサインインします。カスタマーセンターを開くコードパスを実行します。UI が読み込まれ、サブスクリプションがリストに表示されることを確認します。
  3. 設定済みのアクションが少なくとも1つ、最初から最後まで実行されること。最も簡単な確認方法は、購入を復元をタップし、復元完了コールバックが空でない customerInfo.entitlements.active マップとともに呼び出されることを確認することです。ダッシュボードでキャンセル/返金/サポートのアクションを設定している場合は、ユーザーが操作したときに対応するコールバック(onManagementOptionSelected、onRefundRequestStarted など)が呼び出されることを確認します。
  4. カスタマーセンターを閉じると onDismiss コールバックが呼び出されること。

カスタマーセンターが開いても何も表示されない場合は、サインイン中のユーザーに購入履歴がないか、ダッシュボードのカスタマーセンターセクションが設定されていません。ダッシュボードで修正して再読み込みし、もう一度試してください。

コメント