Flutter × RevenueCat サブスクリプション実装記録

目次

はじめに

月謝袋アプリにサブスクリプション機能を実装しました。
RevenueCatの設定からFlutter SDKの組み込みまで、
個人開発者がつまずきやすいポイントをまとめます。

今回やったこと

  • Google Play / App Store のサブスクリプション商品作成
  • RevenueCatへの商品登録・Offerings設定
  • Flutter SDKの組み込み

一番大変だったこと:Valid credentials

RevenueCatのGoogle Play設定で
「Credentials need attention」が消えない問題に悩まされました。

解決に必要だった設定(全部必要!)

  1. Google Play Android Developer API を有効化
  2. Google Play Developer Reporting API を有効化
  3. Cloud Pub/Sub API を有効化
  4. Service Accountのロールに以下を付与
  • Pub/Sub 編集者
  • Monitoring 閲覧者
  1. Google Play Consoleで権限付与
  • 売上データの閲覧
  • 注文と定期購入の管理
  1. Google PlayにサブスクリプションIDが存在すること
    (商品がないと検証できない!)

落とし穴

  • 間違ったGoogle Cloudプロジェクトで作業していた
  • Google Play Developer Reporting API が抜けていた
  • Monitoring Viewer ロールが抜けていた
  • サブスクリプション商品が未作成だった

すべて揃って初めて ✅ Valid credentials になります。

Flutter SDK実装

# pubspec.yaml
dependencies:
  purchases_flutter: ^8.0.0
// 初期化
await Purchases.configure(
  PurchasesConfiguration(apiKey)
);

// ログイン(FirebaseユーザーIDと紐づけ)
await Purchases.logIn(firebaseUserId);

// 商品取得
final offerings = await Purchases.getOfferings();
final package = offerings.current?.monthly;

動作確認

実機ログに以下が表示されれば成功:

✅ RevenueCat初期化完了
✅ RevenueCatログイン: (ユーザーID)
💰 Retrieved productDetailsList: プレミアムプラン

次のステップ

  • 購入フローの実装・テスト
  • サンドボックステスト購入
  • 審査提出

まとめ

RevenueCatの設定は手順が多く、
1つでも抜けると Credentials need attention が消えません。
この記事が同じ問題で悩む方の参考になれば嬉しいです!

目次