どのようにお手伝いできますか?

ROI360 ストア収益の設定 プレミアム機能

  • 更新

概要: AppsFlyer ROI360 ストア収益ソリューションの設定方法について説明します。

Important!

ROI360 store revenue is available only to customers on the ROI360 premium plan. To check your plan or upgrade, contact your Customer Success Manager (CSM).

概要

 注意

Step 1では、Google Cloud PlatformおよびGoogle Play Consoleから必要な認証情報を取得し、AppsFlyerプラットフォーム内の収益設定ページへ設定します。

ROI360 ストア収益を設定するには、以下の手順を順番に実施してください。

  1. ストア認証情報を設定する(iOS / Android):
    • iOS:AppsFlyer上で、App Store Connectの認証情報(In-App Purchase Key、Key ID、Issuer ID)を設定します。
    • Android:Google Cloudサービスアカウントを作成し、Google Play Consoleで必要な権限を設定したうえで、サービスアカウントJSONキーをAppsFlyerへアップロードします。
  2. サーバー通知を設定する(iOS / Android):
    • af_validated = true (falseの場合はストアキーの設定を確認してください)
    • Google Playからまず自社側へ通知を送信し、その後AppsFlyerへ転送するこの構成を利用する場合は、「Google Playの通知をAppsFlyerへ転送する」を参照してください。
  3. SDK Connectorを実装する:開発者側でAppsFlyer Purchase SDK Connectorを実装できるよう準備します。
  4. SDK実装を検証する:両プラットフォームでSandbox環境のアプリ内課金およびサブスクリプションをテストし、SDKイベントおよびサーバー通知がAppsFlyerで正常に受信・処理されていることを確認します。
  5. 設定を確認・更新する:購入検証、払い戻し処理、サブスクリプション計測、およびストア連携ステータスを確認し、クロスプラットフォームで継続的かつ正確な収益アトリビューションが行われていることを確認します。
  6. アプリバージョンをリリースする:SDK Connectorを統合した更新版アプリをリリースします。 この際、Sandboxフラグが無効化されており、必要な収益イベントが通過できる検証ルールになっていることを確認してください。

ステップ1(iOS):App Store Connect Keysを設定する

ステップ1では、App Store Connectから以下の認証情報を取得し、AppsFlyerプラットフォーム内のRevenue Settingsページへ入力します。

  • In-App Purchase key
  • Key ID
  • Issue ID

開始前に:

認証情報設定では、App Store ConnectおよびAppsFlyerの両方で作業が必要です。設定中は、App Store ConnectとAppsFlyerの両方のタブを開いたまま進めてください。

1.1 Create the App Store Connect keys

iOS認証情報を設定するには、 以下の手順を実施してください。

  1. App Store ConnectでUsers and Accessへ移動します。

  2. Users and Access > Integrationを開き、KeysリストからIn-App Purchaseを選択します。

  3. をクリックして、新しいIn-App Purchase keyを生成します。

  4. API Keyの名前を入力します。
  5. Generateをクリックします。
  6. 先ほど生成したキーの横にある Download In-App Purchase Key をクリックして、キーダウンロードします。 注意:キーは1回しかダウンロードできません。
  7. 生成したキーの「Key ID」をコピーし、AppsFlyerの「購入とサブスクリプション」の設定画面内の「Key ID」欄へ貼り付けます。

  8. Issuer IDをコピーします。 注意: Issuer IDがページ上部に表示されない場合は、App Store Connect APIキーを(任意のアクセスレベルで可)作成してください。作成後、In-App Purchase Keyのページ上部にIssue IDが表示されます。

1.2 Set the App Store Connect key in AppsFlyer

  1. AppsFlyerのサイドメニューから 設定 を開き、ROI360 > 収益設定 を選択します。 
  2. 「App Store Connect keys」ステップ内の「In-App Purchase key」欄で「 Upload 」をクリックし、.p8 ファイルをアップロードします。
  3. 「App Store Connect keys」というタイトルのセクションに、App Store Connectからコピーした以下の値を貼り付けます。

    • Key ID
    • Issue ID
  4. 「キーの検証」をクリックして、入力したキーが正しいことを確認します。 注意:アプリがまだApp Storeへ公開されていない場合、「キーの検証」が正常に動作しない場合があります。
  5. 「保存して次へ」をクリックします。

ステップ1(Android):サービスアカウントキーおよび権限を設定する

In step 1, you can obtain the following credentials from App Store Connect and input them in the Revenue Settings page within the AppsFlyer platform.

開始前に:

  • アプリ内課金およびサブスクリプション収益計測の設定では、Google Cloud Platform、Google Play Console、およびAppsFlyerの管理画面上の3箇所で作業が必要です。設定作業中は、これら3つの画面をすべて開いたまま進めることを推奨します。
  • AppsFlyer管理画面での設定作業には、管理者(アドミン)権限が必要です。

1.1. Google Play Developer AccountをGoogle Cloud Projectへリンクする

前提条件:Google Play ConsoleおよびGoogle Cloud Projectへのアクセス権限

Google Play Developer AccountをGoogle Cloud Projectへリンクするには、以下の手順を実施してください:

  1. Google Play Consoleで、Google Play Developer Accountへ移動します。
  2. Google Cloud Projectへアカウントをリンクします。手順については、Googleのヘルプトピックを参照してください。
  3. Google Play Developer APIを有効化します。手順については、Googleのヘルプトピックを参照してください。

1.2 AppsFlyerでApp Store Connect Keyを設定する

前提条件:Google Cloud Platformへのアクセス権限

サービスアカウントを設定するには、以下の手順を実施してください:

  1. サービスアカウントを作成または確認する:
    1. Google Cloud Platformの「サービスアカウント」セクションへ移動し、「サービスアカウントの作成」をクリックします。

    2. サービスアカウント情報を入力します。

    3. メールアドレスをコピーします。

    4. 作成して続行をクリックします。

    5. このサービスアカウントにプロジェクトへのアクセス権を付与するステップで、  Pub/sub subscriber のロールを選択します。

    6. 続行 > 完了をクリックします。

  2. サービスアカウントのプライベートキーをダウンロードする:
    1. Google Cloud Platform上で一覧から対象のサービスアカウント(先ほど作成したアカウント)を探し、「More actions」アイコンをクリックします。
    2. キーの管理をクリックします。

    3. キーの追加 > 新しいキーを作成をクリックしてください。

    4. プライベートキーの作成のポップアップで、キーの種類を選択し、JSONを選択、作成をクリックします。

    5. Createをクリックしてください。プライベートキーのJSONファイルがダウンロードされます。

    6. 後ほどAppsFlyerへアップロードするため、このJSONキーファイルを保存してください。 注意! You must save the key; it can't be retrieved later. 保存しなかった場合、新しいキーを再生成する必要があります。

2.3 Google Play Consoleからテスト通知を送信する

前提条件:Google Play Consoleへのアクセス権限

注意:サービスアカウント認証情報および権限設定後、それらが有効化されるまで時間がかかる場合があります(最大24時間程度)。そのため、後のステップで一時的にエラーが発生する場合があります。

Google Play ConsoleでAPIアクセス権限を設定するには、以下の手順を実施してください:

  1. Google Play Consoleで、ユーザーと権限に移動し、作成したサービスアカウントを見つけて、新しいユーザーを招待をクリックします。

  2. サービスアカウントをステップ 1.2.、1.3で設定したときにコピーしたメールアドレスを入力してください。

  3. 権限セクションで、 アカウント権限タブを開き、以下両方を選択します:

    • View financial data, orders, and cancellation survey responses(財務情報、オーダー、キャンセルサーベイの回答の閲覧)
    • Manage orders and subscriptions(オーダーとサブスクリプションの管理)
  4. アプリの権限 タブで、アプリを追加をクリックし、その後アプリを選択します。必要に応じて複数のアプリを追加してください。

  5. ユーザーを招待するをクリックします。

  6. 確認ポップアップで、招待を送信をクリックします。

1.1 App Store Connect Keyを作成する

ステップ1.2でダウンロードしたGoogle JSONキーをアップロードし、検証します。

前提条件:AppsFlyerの管理者権限

AppsFlyerへサービスアカウントのプライベートキーをアップロードするには、以下の手順を実施してください:

  1. ROI360の詳細、仕組み、およびAppsFlyer上での有効化方法については、「ROI360 ストア収益について」を参照してください。 
  2. 「Service Account Key and Permissions」ステップ内の「Upload Google JSON key」欄で、 (アップロードアイコン)をクリックします。
  3. ステップ1.2でダウンロードしたJSONファイルをアップロードします。
  4. Click Validate Key. Note:
    • サービスアカウントの認証情報と権限を設定した後、それらを使用できるようになるまでに最大24時間かかる場合があります。これにより、キーの検証または検証テストの実行時にエラーが発生する可能性があります。
    • この24時間待機を回避するには、Google Play Consoleで任意アプリへ移動し、「Monetize > Products > Subscriptions/In-app products」を開き、商品の説明文を編集して保存するなど、何らかの変更を加えてください。 For example, edit the description of your product and save it. これにより、アカウント認証情報および権限設定が即時更新されます。 You can then undo the changes.
  5. 「保存して次へ」をクリックします。

ステップ2(iOS):App Store Server Notificationsを設定する

AppsFlyerで、App Store通知の受信方法を設定します。

  • すでにApp Store Connect側でApp Store Server Notificationsのエンドポイントを設定済みの場合(例:自社バックエンドや他サービス)、以下のいずれかを選択してください。 ・オプション1(推奨) ・オプション2
  • App Store Connectでエンドポイントをまだ設定していない場合は、オプション1を選択してください。

オプション1(推奨)- AppsFlyerをPrimary Endpointとして利用する

既存のApp Store Connectの通知URLをAppsFlyerのエンドポイントに置き換え、AppsFlyerで以前のエンドポイントを転送先として追加します。これにより、既存のサブスクリプション処理やワークフローを維持したまま、ROI360連携を追加できます。

この構成での通知フローは以下の通りです。

  1. App Store ConnectがAppsFlyerへ通知を送信
  2. AppsFlyerがROI360用に通知を処理
  3. AppsFlyerが既存エンドポイントへリアルタイムで通知を転送

この方法を利用する場合は、ステップ2.1、2.2、2.4を実施してください。

オプション2 - 自社エンドポイントをPrimary Endpointとして維持する

既存エンドポイントをPrimary Destinationとして維持したい場合は、自社サーバー側でApp Store Server NotificationsをAppsFlyerへ転送する設定を行います。

この方法を利用する場合は、ステップ2.1および2.2をスキップし、2.3と2.4を実施してください。

Note

Apple supports only one App Store server notification endpoint per app, and sends all notification types to it, not only purchase and subscription notifications. AppsFlyer uses the purchase and subscription notifications to measure revenue. It acknowledges any other type back to Apple, so Apple stops retrying, but does not process or act on it.

If your app relies on notification types beyond purchases and subscriptions (for example, consent notifications), make sure those notifications reach your own server:

  • Option 1: Keep AppsFlyer as the primary endpoint and enable forwarding (step 2.1). AppsFlyer forwards a copy of all notifications to your endpoint in real time, unchanged from how Apple sent them, including the types AppsFlyer does not process.
  • Option 2: Keep your own endpoint as the primary destination, so your server receives and handles all notification types directly, and forward purchase and subscription notifications to AppsFlyer.

2.1 2.1 AppsFlyerのサーバー通知エンドポイントをコピーする

AppsFlyerのサーバー通知エンドポイントをコピーするには、以下の手順を実施してください:

  1. AppsFlyer上で、 「App Storeサーバー通知」のステップへ移動し、サーバー通知エンドポイントをコピーします。
  2. 以前から別のApp Storeサーバー通知エンドポイントを使用しており、AppsFlyer経由で通知転送したい場合は、「Forward a copy of notifications to your server」を選択します(Option 1のみ対象)。
  3. 表示されたテキストボックスへ、通知転送先エンドポイントを入力します。

2.2 通知をAppsFlyerへ直接送信する

AppsFlyerへ通知を直接送信するには、AppsFlyerをPrimary App Store Server Notifications Endpointとして設定します。

  1. App Store Connectのアプリ情報セクションで、App Storeサーバー通知までスクロールし、本番サーバーURLの横にある編集をクリックします。

  2. [バージョン2の通知]を選択します。 注意: バージョン1の通知はサポートを終了しています。 Notification Version SelectorがApple Store Connect上に表示されない場合、すでにVersion 2を利用しています。

  3. App Store Connectのアプリ情報セクションで、App Storeサーバー通知までスクロールし、サンドボックスサーバーURLの横にある編集をクリックします。

  4. AppsFlyerからコピーしたAppsFlyerサーバー通知エンドポイントを貼り付け、バージョン2 通知を選択して保存をクリックします。 Note: Version 1 notifications are no longer supported. 注意:バージョン1の通知はサポートを終了しています。 Notification Version SelectorがApple Store Connect上に表示されない場合、すでにVersion 2を利用しています。

2.3[任意]自社エンドポイントからAppsFlyerへ通知を転送する

この手順は、通知をAppsFlyerへ直接送信せず、自社エンドポイントをPrimary Destinationとして維持したい場合のみ使用してください。

この構成は推奨設定ではなく、バックエンド実装が必要です。上記の手順2.2でAppsFlyerをプライマリエンドポイントとして設定済みの場合は、この手順をスキップしてください。

自社エンドポイントからAppsFlyerへサーバー通知を転送するには、以下の手順を実施してください:

  1. App Store Connectのアプリ情報セクションで、App Storeサーバー通知までスクロールし、本番サーバーURLの横にある編集をクリックします。

  2. サーバーエンドポイントURLを貼り付けます。

  3. [バージョン2の通知]を選択します。注意: バージョン1の通知はサポートを終了しています。
  4. 保存をクリックします。
  5. App Store Connectのアプリ情報セクションで、App Storeサーバー通知までスクロールし、Sandbox Server URLの横にある編集をクリックします。

  6. サーバーエンドポイントURLを貼り付けます。

  7. AppsFlyerからコピーしたAppsFlyerサーバー通知エンドポイントを貼り付け、バージョン2 通知を選択して保存をクリックします。注意:バージョン1の通知はサポートを終了しています。 Notification Version SelectorがApple Store Connect上に表示されない場合、すでにVersion 2を利用しています。
  8. 保存をクリックします。
  9. 自社バックエンド側で、Appleのサーバー通知をAppsFlyerの通知エンドポイントURLへ転送するよう設定します。リクエスト内容は、Appleから受信したApp Store Payloadと完全に一致している必要があります。 詳細は「 Apple format requirements」を参照してください。

2.4 サーバー通知の連携をテストする

AppsFlyerがApp Storeのサーバー通知を正しく受信できていることを確認する場合、またはエンドポイント設定直後で、まだ通知が到着していない場合は、以下の手順を実施してください。

  1. AppsFlyerで、App Storeのサーバー通知のステップに進みます。
  2. SDK実装をテスト をクリックします。過去7日間にAppsFlyerが受信した最新のSDKペイロードの受信日時と、そのペイロードが Purchase SDK Connector または Validate and Log のどちらから送信されたものかが表示されます。

    • 有効な通知を受信済みであることを示す確認メッセージ
    • 通知が見つからなかったことを示すステータスメッセージ

     注意

    Apple側でテストメッセージ送信まで数秒かかる場合があります。

    • ステータスがInvalid(無効)のままの場合は、少し待ってから再試行してください。
    • テスト成功後、または設定を続行できる状態になったら、[保存して次へ]をクリックします。

ステップ2(Android):Google Playのサーバー通知を設定する

Google Playからアプリ内課金およびサブスクリプション収益データを受信するには、以下いずれかの方法を選択してください。

  • Google Play通知をAppsFlyerへ直接送信する: With this option, no notification copies can be forwarded to your endpoint. Android:Google Play Real-time Developer Notifications(RTDN)を設定します。 Google PlayからAppsFlyerへ直接通知する方法(推奨)または、Pub/Sub経由で転送する方法が利用可能です。
  • [推奨]Google PlayからAppsFlyerへ直接通知を送信するこの方法では、通知コピーを自社エンドポイントへ転送することはできません。この構成を利用する場合は、「Google Play通知をAppsFlyerへ直接送信する」を参照してください。

前提条件:Google Play ConsoleおよびAppsFlyer UIへのアクセス権限

Google Play通知をAppsFlyerへ転送する方法:

  1. AppsFlyerの管理画面上で、ステップ2「Google Playのサーバー通知を設定する」へ移動し、「Googleから直接RTDNメッセージを取得するためにAppsFlyerトピックの許可」を選択します。
  2. AppsFlyer トピックをクリップボードへコピーします。
  3. In Google Play Console > Home, select to view your app. The dashboard opens.

  4. 「Monetize with Play」 > 「Monetization setup」へ移動し、「Google Play Billing」のセクションで「Enable real-time notification」が有効になっていることを確認します。

  5. 「Topic name」のフィールドへ、AppsFlyerからコピーしたトピックアドレスを貼り付けます。

  6. 通知内容で、サブスクリプション、無効になった購入、およびすべての一回限りのプロダクトを選択します。

  7. 変更の保存をクリックします。設定反映まで時間がかかる場合があります(最大24時間程度)。そのため、テスト実行前にしばらく待機してください。

2.2 [任意]Google Play通知をAppsFlyerへ転送する

注意:この手順は、Google Playからのアプリ内課金およびサブスクリプション売上データを取得する推奨方法(Google PlayのRTDN通知をAppsFlyerが直接受信するトピックを作成する方法)を選択しなかった場合にのみ必要です。 AppsFlyerがGoogle PlayのRTDN通知を直接受信するための推奨設定が完了している場合は、この手順をスキップしてください。

If you want to set AppsFlyer as a subscriber to your existing PUB/SUB topic, continue with the instructions below.

前提条件:Google Cloud PlatformおよびAppsFlyer管理画面へのアクセス権限が必要です。

Google Play Console > Homeで、対象アプリを選択するとダッシュボードが開きます。

  1. AppsFlyerで、サイドメニューから Settings > 収益設定に移動します。
  2. 対象のアプリを選択します。
  3. [購入とサブスクリプション]タブで 、 [ RTDNトピックメッセージをAppsFlyerに転送する]を選択します。
  4. エンドポイントURLをクリップボードにコピーします。
  5. Google Cloud Platformで、対象プロジェクト内の検索から Pub/Sub を開きます。

  6. Pub/Subの Topics セクションに移動し、サブスクリプション用の専用Pub/Subトピックが存在することを確認します。

  7. Pub/Subの Subscriptions セクションに移動し、Create Subscriptions をクリックします。

  8. Subscription IDを入力します。

  9. ドロップダウンから関連するサブスクリプションのパブ/サブスクライブのトピックを選択してください。

  10. 配信の種類 で、プッシュ を選択してください。

  11. AppsFlyer管理画面でコピーしたエンドポイントURLを貼り付けます。

  12. 有効期限 で、有効期限なし を選択します。

  13. Createをクリックしてください。

  14. サブスクリプションセクションに移動し、クリックして希望するトピック名を選択してください。

  15. トピック名をクリップボードにコピーします。

  16. In Google Play Console, go to Monetize with Play > Monetization setup. Monetization setup に移動し、Google Play Billingセクションの Topic nameフィールドに、前の手順でコピーしたトピック名を貼り付けます。

  17. ライセンステスターによる購入は、SDKでサンドボックスモードが設定されていない場合でも、常にサンドボックスイベントとして生成されます。

  18. 変更を保存をクリックしてください。設定反映まで時間がかかる場合があります(最大24時間程度)。そのため、テスト実行前にしばらく待機してください。

2.3 Send a test notification from Google Play Console

Google Playのリアルタイム デベロッパー通知(RTDN)がAppsFlyerで正しく受信できていることを確認するため、Google Play Consoleからテスト通知を送信します。

  1. [テスト通知を送信]をクリックします。これにより、AppsFlyerに設定されているPub/SubトピックにテストRTDNメッセージが送信されます。

    image (33).png
  2. [Google Play Billing]でトピック名のセクションを探します。
  3. 左側のメニューで 、 [Playで収益化]→[収益化設定]に移動します。
  4. Google Playコンソールにアクセスします。

2.4 AppsFlyerで通知の配信を確認する

  1. テストが成功したら、または次に進む準備ができたら、[保存して次へ]をクリックします。
  2. 結果:AppsFlyerに、過去7日間に通知を受信したかどうかが表示されます。
    • If successful, the interface shows the date and time of the most recent notification.
    • 通知を受信していない場合は、過去7日間に通知が見つからなかったことが表示されます。
    • ステータスが表示されない場合は、Pub/Subの設定を確認し、再度テスト通知を送信してください。
  3. [Google Play Server通知]ステップで 、 [ 連携のテスト]をクリックします。

ステップ3:SDK Connectorを実装する

このステップでは、開発担当者がAppsFlyer Purchase SDK Connectorを実装し、テスト用のサンドボックス環境を設定できるよう準備を行います。

SDK Connectorを実装するには、以下の手順に従ってください。

  1. 「SDK Connectorを実装する」のステップで、ダッシュボードに表示される事前作成済みのメッセージをコピーします。
  2. そのメッセージを開発担当者へ送信します。メッセージには以下の情報が含まれています:
    • アプリ名とアプリID
    • SDK実装ガイドへのリンク
    • サンドボックス環境の設定手順(sandbox = true)
    • テスト手順(TestFlightを使用)

このメッセージには、開発担当者が実装を完了し、テストを開始するために必要な情報がすべて含まれています。

 注意

Connectorはトランザクションを自動検出します。代替手段として、validateAndLogのSDKメソッドを実装し、各トランザクションを手動で記録することも可能です。ただし、この方法ではConnectorで利用可能なすべての機能をサポートしているわけではありません。両方のSDK統合方法の詳細については、DevHubドキュメントを参照してください。

ステップ4:SDK実装を検証する

サンドボックス環境でアプリ内課金およびサブスクリプション収益の実装テストを行い、SDK Connectorが正しく実装されていること、およびサーバー通知が適切に設定され、AppsFlyerで正常に受信されていることを確認します。

SDK実装のテスト

AppsFlyerが過去7日間にアプリから有効な購入イベントおよびサブスクリプションイベントのペイロードを受信しているか確認するには、以下の手順を実施します。

  1. Verify SDK implementationのステップで Test SDK implementation をクリックします。
  2. AppsFlyerが最後に受信したペイロードのタイムスタンプを含む結果を確認します。

     注意

    このテストでは、リクエストがAppsFlyerへ到達していることのみを確認します。 データの完全性や正確性までは検証しません。

  3. 実装を完全に検証するには、以下のテスト手順も実施してください。

サンドボックススイベントおよびパラメーター

  • SDK Connectorは、サンドボックス環境における初回トランザクションに対してのみイベントを生成します。
    • アプリ内課金:af_purchase_sandbox_sdk
    • サブスクリプション:af_ars_sandbox_sdk
  • AppsFlyerは、元のトランザクションに対応するSDKイベントが記録されている場合にのみ、サーバー通知を処理します。
    • アプリ内課金(S2S):af_purchase_sandbox_s2s
    • サブスクリプション(S2S):af_ars_sandbox_s2s
  • If the SDK never records the original transaction. SDKで元のトランザクションが記録されていない場合、S2Sイベントは生成されません。

iOSに関する注意事項

  • af_purchase_sandbox_sdk に af_sandbox_revenue が含まれている場合、本番環境では af_purchase にマッピングされます。
  • 収益情報が含まれていない場合は、本番環境では af_purchase_free にマッピングされます。

Androidに関する注意事項

  • Purchases by License Testers always generate sandbox events. even if sandbox mode isn’t configured in the SDK.

テストイベントに必要なパラメータ

すべてのサンドボックス購入イベントに、以下のパラメーターが含まれていることを確認してください。

  • Revenue = 0(実際のレポートに影響を与えないため)
  • af_sandbox_revenue = 実際の商品価格(正しい収益が計上されるようにするため)
  • af_validated = true. If false go back and verify the store key.
  • af_validation_type = receipt_validation

アプリ内課金およびサブスクリプション収益のテスト

前提条件:

  • iOSの場合は、App Store Connectの App Store Server Notifications において、AppsFlyerのエンドポイントがSandbox Server URLとして設定されていることを確認してください。

アプリ内課金とサブスクリプションの収益をテストするには:

  1. 開発担当者に、Android、iOS、Unity向けの手順に従ってSDK Connectorのサンドボックス環境を設定してもらいます。
  2. Google Playのライセンステスターを使用してテスト購入またはサブスクリプション登録を行います。またはiOSの場合は、TestFlightを使用します。注意:サブスクリプション商品は1つのデバイスにつき1回しかテストできません。実際には、同じデバイスで同一サブスクリプション商品のテスト購入を複数回行うことはできず、追加の試行は記録されません。 Additional attempts will not be recorded.
  3. Google PlayのライセンステスターおよびiOSのTestFlightを使用して、返金、サブスクリプション更新、またはサブスクリプション解約のテストを行います。注意:サブスクリプション商品をテストする場合は、AppsFlyerがストアからサーバー通知を受信するまで待機してください。 通常、通知は初回購入から数分以内に送信されます。
  4. Verify SDK connector implementation のステップで Test SDK implementation をクリックします。過去7日間にPurchase ConnectorからSDKペイロードが正常に受信されたかどうかが表示されます。
  5. テストイベントが以下のいずれかで表示されることを確認します。

  6. アクティビティダッシュボードにイベントが表示されていることを確認します。 AppsFlyerの管理画面上で、 分析 > アクティビティ に移動し、Activity Trend Chartの アプリ内イベントタブを開いてテスト対象のイベントを選択します。自動更新型サブスクリプション購入イベントは af_ars_s2s_sandbox として記録されます。このイベントには以下が含まれます。
    • 収益値:0(AppsFlyerの実際のレポートへ影響を与えないため)
    • 購入された商品の収益額を含む af_sandbox_revenue パラメーター(正しい収益がレポートされるようにするため)
       

ステップ 5:設定内容の確認と更新

上記の設定をすべて完了し、最後のステップを保存すると、有効化された設定画面へリダイレクトされます。 ここでは、以下の設定内容を確認または更新できます。

  1. Verify purchases with the App Store のトグルが有効になっていることを確認します。
  2. Purchases のセクションで、以下のオプションを確認します:
    • Prevent duplicate purchases for clean dataすでに報告済みのトランザクションが重複して記録されることを防ぎます。
    • Automatically measure refunds, cancellations, and negative revenue:返金や解約に関連するイベントを計測し、マイナス収益として記録します。
    • Avoid double-counting revenue from Family Sharing:ファミリー共有による重複収益の計上を防ぎます。これらのイベントには purchase_ownership_type=FAMILY_SHARED が付与され、収益額は0としてレポートされます。
  3. Measure and attribute revenue for auto-renewing subscriptions のトグルが有効になっていることを確認します。
  4. 以下の設定状況を確認します。
    • App Store keyの設定
    • Server notification endpoint の設定
    • SDK Connectorの実装およびテスト状況

ステップ6:SDK Connectorを含むアプリバージョンのリリース

前のステップまでの設定が完了し、AppsFlyer Purchase SDK Connectorがアプリに統合されたら、SDK Connectorを含むアプリバージョンをリリースするよう開発担当者へ依頼します。

ただし、新しいアプリバージョンをリリースする前に、以下を確認してください。

  • アプリ内課金またはサブスクリプションとして計測したいアプリ内イベントが、AppsFlyerで設定した検証ルールによってブロックされていないこと。
  • 開発担当者がサンドボックス関連のフラグをすべて false に設定していること。

SDK Connectorを含むアプリがリリースされると、アプリ内課金およびサブスクリプションイベントが生成され、すべてのAppsFlyerダッシュボードに加え、Revenue ETLを含む集計レポートおよびローデータレポートで利用できるようになります。

注意: イベントは、SDK Connectorを含むアプリバージョンへアップデートしたユーザーに対してのみ生成されます。そのため、アップデート版のアプリが十分に普及するまでは、アプリ側の収益データとストア側の収益データとの間に差異が生じることが想定されます。

レシート検証からROI360 ストア収益へ切り替える

レシート検証のオンボーディングを完了しているものの、ROI360 ストア収益のプロダクトを有効化したい場合は、以下の手順を実施してください。

  1. 「キーの検証」をクリックします 注意:
  2. 購入とサブスクリプションのタブを開きます。 ROI360が利用可能であるものの、まだ有効化されていないことを示すバナーが表示されます。
  3. [プロダクト比較]をクリックし、以下のメリットを確認します:返金のアトリビューション、ネット収益レポート、サブスクリプションライフサイクル全体の計測
  4. Google Play Consoleで、Monetize with Play >
  5. 「App Storeサーバー通知を有効にする」のステップを実行します。詳しくは 、 「 App Storeサーバー通知を設定する」または「Google Playサーバー通知を設定する」を参照してください。
  6. [購入とサブスクリプション]のセクションで、プロダクトタイプがROI360に設定されていることを確認します。
  7. 現在のSDK実装が、必要なROI360 ストア収益の機能をサポートできることを確認します。

 注意

ROI360ストアの収益は、2つの実装方法をサポートしています: Purchase SDK Connector Validate and Logこの2つのうち、AppsFlyerではPurchase SDK Connectorの利用を推奨しています。 Of the two, we recommend using the Purchase SDK Connector to benefit from:

  • トランザクションの自動検出
  • 既存のサブスクライバー(SDK導入前から購読しているユーザー)の収益計測
  • サブスクリプション料金変更への対応(価格改定時も正確な収益計測が可能)

これらの機能が不要な場合は、引き続きValidate and Logによる実装を利用することも可能です。

SDK実装方法の確認方法

アプリがPurchase SDK ConnectorとValidate and Logのどちらを利用しているか確認するには、以下の手順を実施します。

  1. Integrate SDK Connectorのステップへ移動します。
  2. 「連携テスト」をクリックします。 You’ll see when the most recent SDK payload was received by AppsFlyer within the past 7 days, and whether it originated from either the Purchase SDK Connector or Validate and Log.