概要: レシート検証の機能を実装することで 、iOSとAndroidのアプリストアで行われた不正なアプリ内購入から保護し、レポート通りにアプリ内購入が発生したことを確認します。注: これはレガシー機能です。 完全に自動化され、改善された新しい アプリ内購入検証メカニズムの詳細をご覧ください。
注意
アプリ内購入のレシート検証は、サードパーティの Android アプリストアではサポートされていません。
レシート検証のフロー
以下のような流れで、レシート検証を行います。
- エンドユーザーがアプリ内課金を実施。
- アプリストアが、課金が成功したことをアプリへ通知。
-
アプリ開発者が、SDKのレシート検証の機能を呼び出し。
validateAndLogInAppPurchase
- SDKがAppsFlyerの検証サービスを呼び出し。
- AppsFlyerが、課金が不正なものではないことを確認するために検証。
- 検証が成功した場合、AppsFlyerが内部的に通常のaf_purchaseのイベントを作成。
それ以外の場合、作成されたイベントを不正イベントとしてタグ付け。(Protect360経由で確認可能) - AppsFlyerの検証サービスが、レスポンスをSDKに転送。
- SDKがレシート検証のレスポンスをアプリへ転送。(成功 or 失敗)
レシート検証が失敗した場合、そのイベントはブロックされたアプリ内イベントのローデータレポート内に表示されます。(Protect360を契約している場合に利用可能)
レシート検証の実装の詳細については、開発者SDKのドキュメントを参照してください。
注:
- iOSのsandboxアプリ(App Store には公開されていないアプリ)の場合、レシート検証を実施するにはコードの追加が必要です。
- AppsFlyerのレシート検証サービスは、すべての広告主が無料で利用可能です。
- Androidの場合、購入時にエンドユーザーがインターネットにアクセスできない場合、レシートの検証で結果が
null
で返され、検証が失敗したと見なされる場合があります。
重要!
validateAndLogInAppPurchase
の呼び出しにより、af_purchaseのアプリ内イベントが生成されます。そのため、レシート検証時に af_purchaseのイベントを生成しないでください。生成してしまうと、重複して収益イベントが計測されてしまいます。