Google Play ConsoleでリアルタイムデベロッパーNotification(RTDN)を有効にする

Google Playは、リアルタイムデベロッパーNotificationを通じて、更新・キャンセル・返金・支払い問題をAdaptyに報告します。これらのイベントはアプリが閉じている間に発生するため、Adapty SDKでは検知できません。

始める前に

Google Play ストアの連携を設定する必要があります。Adapty はキーファイルからトピック名を生成するため、アップロードが完了するまでコピーするものはありません。

通知を有効にする

  1. Adapty ダッシュボードの App settings > Android SDK を開き、Google Play RTDN topic name の下にあるトピック名をコピーします。これは projects/ で始まります。

    Google Play RTDN topic name section in Adapty App settings, with the generated topic name
  2. Google Play Console を開き、アプリを選択して Monetize with Play > Monetization setup に移動します。

  3. Google Play Billing セクションで、Enable real-time notifications チェックボックスをオンにします。

  4. トピック名を Topic name に貼り付けます。

  5. Save changes をクリックします。

    Monetization setup page in Google Play Console, showing the Enable real-time notifications checkbox and Topic name field

接続を確認する

  1. Monetization setup ページで、Topic name フィールドの下にある Send test notification ボタンをクリックします。

  2. Adapty の App settings > Android SDK に戻ります。Adapty が通知を受信すると、Google Play RTDN topic name セクションのステータスタグが Active になります。

    Note

    テスト通知は接続の確認のみを行います。購入イベントは作成されないため、テスト後も Event Feed は空のままです。実際のトランザクションが発生した際にイベントが表示されます。

AdaptyのGoogle Play RTDNトピック名セクションにActiveステータスタグが表示されています

Google のイベントをそのまま転送する

Adapty は Google からの通知をデコードして独自のイベントに変換し、プロファイルやプロダクトと紐付け、収益情報も付加します。Google のオリジナルメッセージもそのまま受け取りたい場合は、App settings > Android SDKURL for forwarding raw Google events to your webhook にエンドポイントを追加してください。

Adapty は、Google から受信したメッセージをそのまま Pub/Sub に投稿します。解析前の状態で、base64 エンコードされており、Google のフィールド名と数値通知タイプを使用し、Adapty プロファイルではなくトークンで購入を識別します。Google は、RTDN リファレンスにてフォーマットを説明しています。

RTDNのトラブルシューティング

トピック名が表示されていない

RTDNの設定はAdaptyからトピック名をコピーするところから始まります。トピック名が表示されていない場合は先に進めません。Play ConsoleのTopic nameは、Google PlayがイベントをどこへSendするかを知るための情報であり、そのトピック名はAdaptyからしか取得できません。

Adapty はキーファイルを保存すると、Cloud プロジェクトにトピックを作成します。有効な名前は projects/ で始まり、projects/your-project-id/topics/adapty-prod-3f7a1c2e-9b4d-4e8f-a1b2-c3d4e5f60718 のような形式です。作成に失敗した場合、セクションには名前の代わりに短いメッセージと Recreate Pub/Sub topic ボタンが表示され、何が問題だったかを確認できます。

表示内容意味対処方法
To set the Google Play RTDN topic name first upload a valid service account key file above.このアプリのキーファイルが Adapty に登録されていないキーファイルをアップロードする
Enable Pub/Sub APIそのクラウドプロジェクトで Cloud Pub/Sub API が無効になっているAdapty に表示されるリンクをクリックし、Recreate Pub/Sub topic をクリックする
Grant permissionsサービスアカウントにそのプロジェクトの Pub/Sub Admin ロールが付与されていないIAM & Admin > IAM でサービスアカウントを編集し、Pub/Sub > Pub/Sub Admin を追加してから Recreate Pub/Sub topic をクリックする

トピックが存在しない間は、Play Consoleに貼り付けるものがないため、Google PlayはイベントをAdaptyに送信せず、更新・キャンセル・返金の情報が記録されません。

Recreate Pub/Sub topic は、すでにアップロード済みのキーファイルを使って設定を再実行するため、再度アップロードする必要はありません。

トピックの再作成に失敗する

Google Play がトピックへパブリッシュするには権限が必要なため、Adapty は google-play-developer-notifications@system.gserviceaccount.com にその権限を付与します。このアカウントは Google に属するものであり、あなたの会社のものではありません。

多くの企業では、自社ドメインのアカウントにのみアクセスを許可するよう Google Cloud を設定しています。このような会社全体のルールは組織ポリシーと呼ばれており、そのうちの 2 つが外部アカウントへの権限付与を拒否するため、トピックが作成されません。

  1. Google Cloud Console を開き、キーファイルの元となったプロジェクトを選択します。

  2. IAM & Admin > Organization Policies に移動します。

    IAM and Admin section in the Google Cloud Console navigation
  3. Domain restricted contacts ポリシーを見つけ、その Actions メニューを開き、Edit policy をクリックします。

    Organization policies list with the Actions menu open
  4. Override parent’s policy を選択し、Policy enforcementReplace に設定して、Add a rule をクリックします。

    Policy editing page with the Override parent's policy option
  5. Policy valuesAllow All を選択し、Set policy をクリックします。

New rule section with Allow All selected as the policy value
  1. Domain restricted sharing ポリシーに対して同じ手順を繰り返します。

  2. Adapty でトピックを再作成します。

Warning

トピックが作成されたら、両方のポリシーをすぐに Inherit parent’s policy に戻してください。Allow All の状態では、このプロジェクトはGoogleの通知サービスだけでなく、ドメイン外の任意のGoogleアカウントからのアクセス付与や共有を受け入れてしまいます。

次のステップ

アプリが使用する各フレームワーク向けに Adapty SDK をインストールしてください。インストールするまで、アプリはペイウォールを表示したり、購入情報を Adapty に報告したりすることができません。