App Store
API キーで App Store Connect を接続し、iOS と Mac の日次の Sales and Trends レポートを読み込みます。
RevGlance は App Store Connect API を通じて、Apple の日次 Sales and Trends レポートを読み込みます。SALES サマリーからは有料アプリとアプリ内課金を、SUBSCRIBER レポートからはサブスクリプションの各請求、無料トライアル、返金を取得します。
接続
- App Store Connect で Users and Access › Integrations › App Store Connect API を開き、Finance または Sales ロールのチームキーを生成します。
- キー一覧の上にある Issuer ID と、そのキーの Key ID を控え、
.p8ファイルをダウンロードします。Apple ではダウンロードは一度しかできません。 - Payments and Financial Reports(左上)で vendor number を確認します。
- 4 つの項目を入力し、
.p8ファイルの中身を-----BEGIN PRIVATE KEY-----の行も含めてすべて貼り付けてから、App Storeを接続を選びます。
フォームで入力する項目
| 項目 | 形式の例 |
|---|---|
| 発行者ID | 57246542-96fe-1a63-e053-0824d011072a |
| キーID | 2X9R4HXF34 |
| ベンダー番号 | 85012345 |
| 秘密鍵(.p8の内容)暗号化して保存 | -----BEGIN PRIVATE KEY----- |
Webhook を追加する
レポートは約 1 日遅れで届きます。App Store Server Notifications を使うと、変更があった瞬間に RevGlance に通知されるため、次のレポートが用意され次第すぐに取得されます。
- RevGlance で 設定 › ソース を開き、App Store ソースのメニューを開いて Webhook を選びます。
- 長いランダムなシークレットを考え、署名シークレットに貼り付けて保存します。
- Webhook URL をコピーし、末尾に
?token=とシークレットを付け加えます。 - App Store Connect でアプリの App Information を開き、App Store Server Notifications でそのアドレスを本番 URL(バージョン 2)として設定します。
RevGlance は URL 内のシークレットと、Apple 自身の署名(Apple Root CA G3 までの証明書チェーン)を確認します。
想定しておくこと
- 顧客は匿名です。 Apple は購入者の名前を提供しません。各購読者は匿名の Subscriber ID を持つ 1 人の顧客になり、オファーコード、サブスクリプショングループをまたぐアップグレード、ID のリセットが新しいサブスクリプションのように見えることがあります。
- 履歴は 1 年分です。 日次レポートは 1 年前までさかのぼれ、各日のデータは約 1 日遅れで届きます。
- 解約の反映は遅れます。 Apple は解約を報告しません。更新が 3 日遅れた時点でサブスクリプションが終了したとみなします。
App Store の集計方法
- 顧客価格を収益として計上し、手数料は顧客価格から受取額を差し引いた額です。そのため、税込み価格に含まれる税は手数料として表示されます。
- MRRは最新の顧客価格のため、価格が税込みの場合は税を含みます。Appleのレポートは税を分けていません。お試しオファーはオファー価格で計上し、その後の通常価格は拡大として表示されます。
- 返金はAppleのレポートにマイナス価格で記載されます。Appleが返金を取り消した場合、RevGlanceはその購読者とサブスクリプションの最新の返金を削除します。Appleはどの返金が取り消されたかを示さないため、1つのサブスクリプションに複数の返金がある場合は、別の返金が削除されることがあります。
- Appleが購読者IDをリセットした後(180日)に申請された返金は保持されますが、顧客は紐付きません。
- App Bundleのクレジット(CMB-C)は返金ではないため除外されます。
- Appleは解約を示さないため、更新が3日遅れた時点でサブスクリプションは終了となります。
- 失敗した請求は報告されないため、その数値は0のままです。

RevGlance