概要:アプリストアへの照会で購入・サブスクリプションの取引を検証し、正確な収益を計測することで、広告費用対効果(ROAS)を正確に把握できます。
新しいレシート検証への移行
従来のレシート検証は、2026年9月7日に提供を終了します。「お知らせ:従来のレシート検証の廃止」を参照してください。アプリで従来のレシート検証を使用している場合は、以下の設定手順に従って新しいレシート検証に移行してください。設定を始める前に、主な変更点を確認し、移行に備えてください。
新しいレシート検証の変更点
| 項目 | 従来の機能 | 新しいレシート検証 |
|---|---|---|
| SDKメソッド |
validateAndLogInAppPurchase(従来版/v1) |
validateAndLogInAppPurchase(v2)。iOS・Androidともにメソッド名は同じですが、引数の構成が変わります。 |
| 価格と通貨の指定 | SDKの呼び出し時に指定 | ストアから自動的に取得 |
| 購入の種類 | 指定不要 |
PurchaseTypeパラメータが必須(subscriptionまたはone-time purchase) |
| 収益設定 | 指定不要 | 必要(収益設定ページ) |
af_revenueの値の取得元 |
SDKの呼び出し時に指定した値 | ストアが返す総収益。SDKの呼び出し時に指定したカスタム値は、イベントのcustom_dataオブジェクトに格納されます。 |
| 購入イベントの区分 | すべての取引を1種類のaf_purchaseイベントで記録 |
取引の種類ごとに異なるイベントで記録:af_purchase、af_ars_trial_started、af_ars_subscription_startedおよび各サンドボックス用イベント |
| StoreKit 2への対応(iOS) | 非対応 | 対応 |
| 不正の除外 | 限定的 | Android・iOSで強化 |
| SDKでの提供状況 | AppsFlyer SDK v7.0.0以降では削除 | Android v6.17.5、iOS v6.17.8、プラグインv6.17.8以降で利用可能 |
| 検証済み購入イベントの記録 | 2026年9月7日まで対応 | 継続して対応 |
移行の準備
移行を始める前に、次の点を確認してください。
- 既存のユーザーに影響を与えず、段階的に移行できます。 AppsFlyerのダッシュボードで新しいレシート検証を有効にしても、従来のメソッドを使用するバージョンのアプリには影響しません。従来版の提供が終了する2026年9月7日までは、両方を引き続き使用できます。
- 移行後は収益の値が変わる場合があります。新しいレシート検証では、ストアが返す総収益を使用します。従来のレシート検証では、SDKの呼び出し時に指定した収益の値を使用していました。 SDKの呼び出し時に総収益以外の値を指定していた場合、移行後は総収益が使われるため、ダッシュボードに表示される金額や、ポストバックでパートナーに送信される金額が変わります。純収益を使用する場合は、ROI360ストア収益をご利用ください。「ROI360ストア収益の設定」を参照してください。
-
収益額の変化をユーザー獲得パートナーに伝えてください。
af_purchaseのポストバックで総収益以外の値を受信していたアドネットワークでは、移行後に受信する金額が変わります。 -
アプリのリリース日程を計画してください。 2026年9月7日以降は、Android v6.17.5またはiOS v6.17.8より前のSDKで作成されたバージョンのアプリを使うユーザーについて、検証済みの
af_purchaseイベントが生成されなくなります。提供終了までに大半のユーザーへ更新版が行き渡るよう、余裕を持って新しいバージョンのアプリをリリースしてください。
ROI360ストア収益への切り替え
両機能は同じvalidateAndLogInAppPurchase(v2)メソッドを使用するため、ROI360ストア収益に切り替える際にSDKを変更する必要はありません。購入を自動検出するためのPurchase Connectorの追加は任意です。
詳細と設定手順は、「ROI360ストア収益の設定」を参照してください。
概要
注意
レシート検証の仕組みやAppsFlyerで有効にする方法など、詳しくは「レシート検証について」を参照してください。
レシート検証を設定するには、次の手順を順番に実行します。
- ストアの認証情報の設定(iOS・Android)
-
validateAndLog SDK APIの実装:開発者がAppsFlyerの
validateAndLogSDK APIを実装できるよう準備し、テスト用のサンドボックス環境を設定します。 - validateAndLog SDK APIの実装テスト:iOS・Androidのサンドボックスで購入とサブスクリプションをテストし、レシート検証イベントが生成され、AppsFlyerに正しく記録されることを確認します。
- 設定の確認・更新:製品タイプがレシート検証に設定されていることを確認し、ストアキーとSDK連携の状態を点検します。これにより、収益を継続して正確に計測できます。
-
validateAndLog SDK APIを実装したアプリのリリース:
validateAndLogSDK APIを実装した更新版のアプリをリリースします。サンドボックスのフラグが無効で、必要なアプリ内イベントが検証ルールでブロックされていないことを確認してください。
手順1(iOS)|App Store Connectのキーの設定
手順1では、App Store Connectで次の認証情報を取得し、AppsFlyerの[収益設定]ページに入力します。
- アプリ内課金キー
- キーID
- 発行者ID
事前準備:
- 認証情報の設定には、App Store ConnectとAppsFlyerの両方で操作が必要です。設定中は、App Store ConnectとAppsFlyerをそれぞれ別のタブで開いておいてください。
- iOSアプリには、アプリ内購入とサブスクリプションを処理するフレームワークであるStoreKit v1またはv2が必要です。
1.1 App Store Connectのキーの作成
iOSの認証情報を設定するには、次の手順を実行します。
-
App Store Connectで、[ユーザとアクセス]を開きます。
-
[ユーザとアクセス]>[統合]に移動し、[キー]の一覧から[アプリ内課金]を選択します。
-
[+]をクリックし、新しいアプリ内課金キーを生成します。
- APIキーの名前を入力します。
- [生成]をクリックします。
- 作成したキーの横にある[アプリ内課金キーをダウンロード]をクリックし、キーをダウンロードします。 注意:キーは1回しかダウンロードできません。
-
生成したキーのキーIDをコピーし、AppsFlyerの購入・サブスクリプション設定の[キーID]に貼り付けます。
-
発行者IDをコピーします。 注意:ページ上部に発行者IDが表示されない場合は、App Store Connect APIキーを作成します。アクセスレベルは任意です。作成すると、アプリ内課金キーのページ上部に発行者IDが表示されます。
1.2 App Store Connectのキーの設定
手順1(Android)|サービスアカウントのキーと権限の設定
手順1では、Google PlayとGoogle Cloudで次の認証情報を取得し、AppsFlyerの[収益設定]ページに入力します。
事前準備:
- アプリ内購入とサブスクリプションの収益計測を設定するには、Google Cloud Platform、Google Play Console、AppsFlyerの管理画面で操作を行います。設定中は、3つのサービスをそれぞれ別のタブで開いておくことを推奨します。
- AppsFlyerの管理画面で設定するには、管理者権限が必要です。
1.1 Google PlayデベロッパーアカウントとGoogle Cloudプロジェクトのリンク
前提条件:Google Play ConsoleとGoogle Cloudプロジェクトへのアクセス権。
Google PlayデベロッパーアカウントをGoogle Cloudプロジェクトにリンクするには、次の手順を実行します。
- Google Play Consoleで、Google Playデベロッパーアカウントを開きます。
- アカウントをGoogle Cloudプロジェクトにリンクします。手順は、Googleのこちらのヘルプを参照してください。
-
Google Play Developer APIを有効にします。手順は、Googleのこちらのヘルプを参照してください。
1.2 Google Cloudでのサービスアカウントの設定
前提条件:Google Cloudへのアクセス権。
サービスアカウントを設定するには、次の手順を実行します。
-
サービスアカウントを作成するか、既存のサービスアカウントを使用します。
-
サービスアカウントの秘密鍵をダウンロードします。
- Google Cloudの[サービスアカウント]で、先ほど作成したアカウントを一覧から選び、[その他の操作]アイコンをクリックします。
-
[鍵を管理]をクリックします。
-
[鍵を追加]>[新しい鍵を作成]をクリックします。
-
[秘密鍵の作成]ポップアップで、[キーのタイプ]から[JSON]を選択し、[作成]をクリックします。
-
[作成]をクリックします。秘密鍵のJSONファイルがダウンロードされます。
- 後でAppsFlyerにアップロードするため、JSONキーファイルを保存しておきます。 注意!キーは必ず保存してください。後から取得することはできません。保存しなかった場合は、キーを新たに作成し直す必要があります。
1.3 Google Play ConsoleでのAPIアクセス権限の設定
前提条件:Google Play Consoleへのアクセス権。
注意:サービスアカウントの認証情報と権限の設定が反映されるまで、最大24時間かかる場合があります。そのため、後の手順でエラーが発生する場合があります。
Google Play ConsoleでAPIのアクセス権限を設定するには:
1.4 サービスアカウントの秘密鍵のAppsFlyerへのアップロード
手順1.2でダウンロードしたGoogleのJSONキーをアップロードし、検証します。
前提条件:AppsFlyerの管理者権限。
サービスアカウントの秘密鍵をAppsFlyerにアップロードするには、次の手順を実行します。
- レシート検証を有効にします。
-
[サービスアカウントのキーと権限]の手順で、[GoogleのJSONキーをアップロード]フィールドの
[アップロード]をクリックします。
- 手順1.2でダウンロードしたJSONファイルをアップロードします。
-
- サービスアカウントの認証情報と権限の設定が反映されるまで、最大24時間かかる場合があります。そのため、キーの検証や検証テストの実行時にエラーが発生する場合があります。
- 設定を早く反映させたい場合は、Google Play Consoleで任意のアプリを開き、[収益化]>[商品]>[定期購入/アプリ内アイテム]に移動して、変更を加えます。例えば、商品の説明を編集して保存します。通常、この操作によってアカウントの認証情報と権限がすぐに更新されます。その後、加えた変更は元に戻せます。
- [次へ]をクリックします。 [SDKの実装]の手順が開きます。
手順2| SDKの実装
この手順では、開発者がSDKのvalidateAndLog APIを実装できるよう準備し、テスト用のサンドボックス環境を設定します。最新のvalidateAndLog APIに対応するSDKの最小バージョンは、Androidが6.17.5、iOSが6.17.8です。
validateAndLog SDK APIを実装するには、次の手順を実行します。
- [SDKの実装]の手順で、ダッシュボードに表示されるメッセージのひな形をコピーします。
-
コピーしたメッセージを開発者に送信します。メッセージには、次の情報が含まれます。
- アプリ名とアプリID
- SDK実装ガイドへのリンク。
- サンドボックス環境の設定手順(
sandbox = true)。 - テスト手順(TestFlightを使用)。
このメッセージに、実装からテスト開始までに開発者が必要とする情報がすべて含まれています。
- [次へ]をクリックします。 [SDKの実装を確認]の手順が開きます。
手順3| SDKの実装の確認
サンドボックス環境でアプリ内購入とサブスクリプションの収益連携をテストし、SDK Connectorが正しく実装され、サーバー通知が適切に設定されてAppsFlyerに届いていることを確認します。
SDKの実装テスト
過去7日間に、アプリから有効なvalidateAndLogのデータをAppsFlyerが受信したか確認するには、次の手順を実行します。
- [SDKの実装を確認]の手順で、[SDKの実装をテスト]をクリックします。
- AppsFlyerが最後にデータを受信した日時など、結果を確認します。この確認で分かるのは、リクエストがAppsFlyerに届いているかどうかだけです。データの完全性や正確性までは検証されません。
- 実装を十分に検証するには、引き続き以下のテストを行ってください。
サンドボックス環境での注意点
サンドボックス環境では、次の点に注意してください。
- validateAndLog SDK APIがAppsFlyerに記録するイベントを生成するのは、初回購入時だけです。アプリ内購入イベントの名前は
af_purchase_sandbox_sdkです。サブスクリプションイベントの名前はaf_ars_sandbox_sdkです。 - サンドボックスイベントの収益は0です。
- Androidでは、SDKでサンドボックス環境を設定していなくても、ライセンステスターによるテストでサンドボックスイベントが生成されます。
アプリ内購入とサブスクリプションの収益テスト
アプリ内購入とサブスクリプションの収益をテストするには:
- 開発者に、実装手順に従ってvalidateAndLog SDK APIのサンドボックス環境を設定するよう依頼します。
- Google PlayのライセンステスターとiOSのTestFlightで、購入またはサブスクリプションをテストします。
-
次のいずれかの方法で、テストイベントが表示されることを確認します。
- ライブイベントビューアーでイベントを確認します。
- マイダッシュボードのアクティビティビューでイベントデータを確認します。
-
次のテストイベントを探します。
- 購入イベントの場合は
af_purchase_sandbox_sdk。 - サブスクリプションイベントの場合は
af_ars_sandbox_sdk。
- 購入イベントの場合は
-
テストイベントに、次の情報が含まれることを確認します。
- 収益の値が0であること(AppsFlyerの実際のレポートに影響を与えないため)。
- 購入した商品の収益額が
af_sandbox_revenueパラメータに含まれ、正しい収益が報告されていること。 -
af_validatedパラメータがtrueであること。af_validatedがfalseの場合は、上記の手順2に戻り、ストアから取得したキーを検証してください。 -
af_validation_typeパラメータがreceipt_validationであること。
手順4|設定の確認・更新
ここまでの設定を保存すると、現在の設定を確認する画面が開きます。この画面で、次の設定を確認・更新できます。
- [製品タイプ]が[レシート検証]であることを確認します。
- [App Storeで購入を検証]がオンになっていることを確認します。
-
次の設定を確認・更新します。
- App Storeのキーの設定
- SDK連携の設定
手順5| validateAndLog SDK APIを実装したアプリのリリース
設定とAppsFlyer validateAndLog SDK APIの実装が完了したら、実装済みのアプリをリリースするよう開発者に依頼します。
開発者が新しいバージョンをリリースする前に、次の点を確認してください。
- アプリ内購入またはサブスクリプションとして記録したいアプリ内イベントが、AppsFlyerで設定した検証ルールによってブロックされていないこと。
- 開発者が、すべてのサンドボックスフラグを
falseに設定していること。
validateAndLog SDK APIを実装したアプリが公開されると、アプリ内購入とサブスクリプションのイベントが生成され、AppsFlyerのすべてのダッシュボード、集計レポート、ローデータレポートで利用できるようになります。
イベントが生成されるのは、validateAndLog SDK APIを実装したバージョンにアプリを更新したユーザーのみです。そのため、更新版のアプリがすべてのユーザーに行き渡るまでは、アプリの収益データとストアのデータに差異が生じます。