[历史版本]应用内购买的收据验证功能

设置与iOS App Store的对接。概要:收据验证可有效防止iOS或Android应用商店中的虚假应用内购买,并确保相关购买事件真实有效。请注意:本文为您介绍的是“历史版本”功能。如需了解最新的全自动增强型应用内购买验证机制,请参阅相关文档。

 注意

  • 本文介绍的历史版本不支持StoreKit v2。关于当前版本,详见设置与iOS App Store的对接。
  • 第三方Android应用商店不支持应用内购买的收据验证。

收据验证流程

收据验证流程如下:

  1. 用户在应用内进行购买。
  2. 应用商店确认购买成功,并通知应用。
  3. 应用开发者调用SDK中的收据验证函数。
    validateAndLogInAppPurchase
  4. SDK调用AppsFlyer验证服务。
  5. AppsFlyer判断该购买是否真实有效。
  6. 若验证通过,系统内部会自动生成一个标准的af_purchase事件;若验证失败,该事件将被标记为作弊行为(可在Protect360中查看)。
  7. AppsFlyer验证服务将结果返回给SDK。
  8. SDK将验证结果(成功或失败)返回给应用。
    如果收据验证失败,则该事件会显示在被拦截的应用内事件原始数据报告中(需购买Protect360)。

如需了解各平台的具体实现方式,请参见开发者SDK文档:

补充说明:

  • 对于iOS沙盒应用(即尚未上线App Store的版本),在进行收据验证时需要额外添加部分代码
  • 沙盒环境下的购买行为也会被记录为标准的af_purchase事件,其收入数据也会在AppsFlyer面板及报告中显示。
  • AppsFlyer的收据验证服务 对所有账户免费开放。
  • 对于Android端应用,如果用户购买时没有连接网络,系统可能会返回null作为验证结果,将其视为验证失败。

重要提示!

调用validateAndLogInAppPurchase时,系统会自动生成一个af_purchase应用内事件。因此,请勿在验证过程中手动生成该事件,以免收入数据重复。