[レガシー] アプリ内購入のレシート検証

概要: レシート検証の機能を実装することで 、iOSとAndroidのアプリストアで行われた不正なアプリ内購入から保護し、レポート通りにアプリ内購入が発生したことを確認します。 注:注: これはレガシー機能です。完全に自動化され、改善された新しい アプリ内購入検証メカニズムの詳細をご覧ください。

  • アプリ内購入のレシート検証は、サードパーティの Android アプリストアではサポートされていません。

レシート検証のフロー 

以下のような流れで、レシート検証を行います:

  1. エンドユーザーがアプリ内課金を実行。
  2. アプリストアが、課金が成功したことをアプリへ通知。
  3. アプリ開発者が、SDKのレシート検証の機能を呼び出し。
    validateAndLogInAppPurchase
  4. SDKがAppsFlyerの検証サービスを呼び出す。
  5. AppsFlyerが、課金が不正なものではないことを確認するために検証。
  6. 検証が成功した場合、AppsFlyerが内部で通常の af_purchase のイベントを作成。それ以外の場合、作成されたイベントを不正イベントとしてタグ付け。(Protect360経由で確認可能)
  7. AppsFlyerの検証サービスが、レスポンスをSDKに転送。
  8. SDKがレシート検証のレスポンスをアプリへ転送(成功または失敗)。
    レシート検証が失敗した場合、そのイベントはブロック済アプリ内イベントローデータレポート内に表示されます(Protect360 を契約している場合に利用可能)。

レシート検証の実装の詳細については、開発者SDKのドキュメントを参照してください。

注:

  • iOSのsandboxアプリ(App Storeには公開されていないアプリ)の場合、レシート検証を実施するにはコードの追加が必要です。
  • AppsFlyerのレシート検証サービスは、すべての広告主が無料で利用可能です。
  • Androidの場合、購入時にエンドユーザーがインターネットにアクセスできない場合、レシートの検証で結果が nullnull で返され、検証が失敗したと見なされる場合があります。

 重要!

そのため、レシート検証時に af_purchaseのイベントを生成しないでください。生成してしまうと、重複して収益イベントが計測されてしまいます。