Google Play
Play Console のレポートと Play Developer API を読み取るサービスアカウントで Google Play を接続します。
RevGlance は Play Console の Cloud Storage バケットにある月次の sales レポートと earnings レポートを読み込み、請求期間と返金、さらにリアルタイム通知があればトライアルと解約について、Play Developer API に問い合わせます。
接続
- Google Cloud のプロジェクトで service account を作成し、JSON キーを追加してダウンロードします。そのプロジェクトで Google Play Android Developer API を有効にします。
- Play Console で Users and permissions を開き、サービスアカウントのメールアドレスを招待して、アプリに対する View financial data 権限を付与します。
- Download reports › Financial からレポートのバケットをコピーします。Cloud Storage URI の
pubsite_prod_rev_…の部分です。 - バケット、アプリのパッケージ名(
com.example.app)、JSON キー全体を入力し、Google Playを接続を選びます。新しい招待がレポートに反映されるまで最大 1 日かかることがあります。
フォームで入力する項目
| 項目 | 形式の例 |
|---|---|
| レポートバケット | pubsite_prod_rev_01234567890987654321 |
| パッケージ名 | com.example.app |
| サービスアカウントJSON暗号化して保存 | { "type": "service_account", … } |
サービスアカウントは、Cloud Storage(devstorage.read_only)と Android Publisher API への読み取り専用アクセスでサインインします。
Webhook を追加する
リアルタイム通知がないと、トライアルは見えず、解約は更新が 3 日遅れた時点でようやく表示されます。通知があれば、RevGlance は各サブスクリプションの購入トークンを把握し、Play にその現在の状態を問い合わせます。
- RevGlance で 設定 › ソース を開き、Google Play ソースのメニューを開いて Webhook を選びます。長いランダムなシークレットを署名シークレットに保存します。
- Google Cloud で Pub/Sub トピックを作成し、Play Console の Monetization setup ページの説明に従って、Google Play がそのトピックにパブリッシュできるようにします。
- トピックに push サブスクリプションを追加します。エンドポイントは、Webhook URL の末尾に
?token=とシークレットを付けたものです。 - Play Console で Monetization setup を開き、トピックを入力してテスト通知を送信します。RevGlance はテスト通知やほかのアプリ宛ての通知を受け取り確認しますが、処理はしません。
想定しておくこと
- レポートは遅れて届きます。 Google は販売の 3〜7 日後にレポートを掲載します。先に sales が届き、後から earnings が Google から実際に支払われた金額で置き換えます。
- 顧客は匿名です。 Play は購入者の名前を提供しません。1 つのサブスクリプションの注文は共通の ID ルート(
GPA.1234…)を持ち、それが 1 人の匿名顧客になります。単発の購入には顧客がありません。 - API 経由の返金は 30 日前までさかのぼります。それより古い返金は earnings レポートで届きます。
Google Play の集計方法
- Googleのレポートは3~7日遅れで公開されます。まず売上が届き、後でGoogleの手数料差し引き後の実際の支払額で収益に置き換わります。請求は税抜きで計上します。
- 返金は一部返金も含め、各行を保持します。1件の注文に対する2回の一部返金が2つの月次レポートにまたがると重複し、1件が漏れることがあります。Googleはレポートで返金をマイナスで記載するか明示していないため、返金額として読み取ります。
- Play APIによる返金は過去30日分のみ取得できます。それより古いものは収益レポートで届きます。
- リアルタイム通知がない場合、解約は更新の3日遅れとしてのみ表示され、レポートがその日をカバーした時点で計上されます。
- テスト購入は除外されます。保留中のサブスクリプションは数え続け、一時停止中のものは再開するまで解約として数えます。
- MRRは最新の注文の税引き前の額です。お試しオファーはオファー価格で計上し、その後の通常価格は拡大として表示されます。
- 失敗した請求は報告されないため、その数値は0のままです。

RevGlance