アプリ内課金のレシート検証

概要: レシート検証の機能を実装することで 、iOSとAndroidのアプリストアで行われた不正なアプリ内購入から保護し、レポート通りにアプリ内購入が発生したことを確認します。

レシート検証のフロー 

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

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

レシート検証の実装詳細については、以下を参照してください:

注:

  • iOSのsandboxアプリ(App Store には公開されていないアプリ)の場合、レシート検証を実施するにはコードの追加が必要です
  • AppsFlyerのレシート検証サービスは、すべての広告主が無料で利用可能です。

 重要!

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