くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

RevenueCatに入門してみた その3 | Appsを登録する(Android)

前回の続き。とりあえず、Appsを登録してみるのAndroid

SDK QuickstartのAdd an App / Platformを参照しつつ

Appの追加(Android)

Androidで必要なのはこれ

  • package名
  • Service Account Credentials JSON

オプションだけど設定しておくのがいいのはこれ

  • Google Developer Notifications
    • RevenueCat上でのチャート情報のタイムラグを減らす

必須: Service Account Credentials JSONの設定

RevenueCatはGoogle API経由で検証などを行ってくれる。 そのために、Service Account Credentials JSONをアップロードする必要がある。

反映には最大36時間かかるので注意
反映前だと、Invalid Play Store credentialsエラー(503 or 521)が発生して、
購入などが失敗するっぽい。

Setup

Google Play ConsoleとGoogle Cloud Consoleの2つを使って設定していく

1. Enable the Google Developer and Reporting API

APIとサービス → 認証情報」が未設定の場合は設定しておく。
Firebaseを使っているとすでに設定されているはず

2. Create a Service Account

GCPでサービスアカウントの作成

  • Cloud ConsoleのService Accountに移動
  • サービスアカウントの作成。権限は以下
    • Pub/Sub Admin(Pub/Sub 管理者) ... Platform Server Notificationsに必要
    • Monitoring Viewer(モニタリング閲覧者) ... notificationキューの参照に必要
  • 作成したサービスアカウントのサービスアカウントキーをダウンロード
    • サービスアカウントの右のメニューから「鍵の管理」に移動
    • 「鍵を追加 → 新しい鍵を作成 → JSON」を選択し、作成
    • 作成後にJSONファイルをダウンロード。一度しかダウンロードできないので注意
  • 作成したサービスアカウントのメールアドレス/プリンシパルを控えておく
    • revenuecat@<project-id>.gserviceaccount.com

ENABLE THE PUB/SUB API FOR GOOGLE DEVELOPER NOTIFICATIONS

APIとサービス」でCloud Pub/Sub APIが有効になっているかを確認しておく。

3. Grant Financial Access to RevenueCat

RevenueCatがGoogle Playにアクセスするための設定

  • Google Play Consoleに移動
  • 「ユーザと権限」に移動
  • 「新しいユーザを招待」から、2.で作ったアカウントを招待
    • revenuecat@<project-id>.gserviceaccount.com
  • 「アカウントの権限」タブから以下の権限を選択
    • アプリのアクセス管理 → アプリ情報の閲覧、一括レポートのダウンロード(読み取り専用)
    • 売上データ → 売上データ、注文、解約アンケートの回答の閲覧
    • 売上データ → 注文と定期購入の管理
  • 招待を送信して、完了

4. Enter the Credentials JSON in RevenueCat

  • RevenueCatに移動
  • App nameとGoogle Play packege名を入力
  • 2.でダウンロードしたサービスアカウントキーのJSONをアップロード
  • 保存すればOK

Check the status of your credentials

JSONをアップロードすると検証されるけど、以下の警告が出ることがある。

Could not validate subscriptions API permissions
Could not validate inappproducts API permissions
Could not validate monetization API permissions

いずれも3.のGoogle Play Consoleで招待したアカウントへの 権限が不足していると表示されるらしい。

最大36時間かかる反映待ちの影響もあり、少し経ってから確認したら解消されていた。

Troubleshooting

手順が複雑なので、いろんなエラーが出る可能性があり、
各エラーとその対応手順がまとまってる

Google Developer Notificationsの設定

必須ではないけど、設定しておくとチャート情報のラグなどが減らせるっぽい。

1. Ensure Google Cloud Pub/Sub is enabled for your project

Google Cloud Consoleでの作業

2. Choose a Pub/Sub Topic ID

RevenueCat Dashboardでの作業

  • 対象のAndroid Appsを開く
  • Google Developer Notifications Topic ID」にあるプルダウンから
    「Play-Store-Notifications (Will be generated by RevenueCat)」を選択
  • Google Developer Notifications」の「CONNECT TO GOOGLE」をクリック
  • Google Developer Notifications Topic ID」のTopic IDを控えておく

3. Add Topic ID to Google Play

Google Play Consoleでの作業

  • 対象のアプリに移動
  • 「収益化 → 収益化のセットアップ」に移動
  • Google Play 請求サービス」を変更
    • 「リアルタイムの通知を有効にする」にチェック
    • 「トピック名」に2.のTopic IDを設定

Send Test Notification

通知がテストれているかのテスト

  • Google Play Consoleを開く
    • 3.で設定した箇所の「テスト通知を送信」をクリック
  • RevenueCatの対象アプリを開く
    • Google Developer Notifications Topic ID」の右に「Last received YYYY-MM-DD...」と表示されるのを確認
    • 自動更新ではないので、再読込すると反映される

以上!! Android側のアプリも登録できた。。(*´ω`*)
次は課金アイテムの作成&登録に進もう