应用内购买验证常见问题解答

应用程序内购买(IAP)验证是 Singular 评估应用程序(Android 和 iOS)中的收入事件并检测无效/欺诈性用户购买的过程,从而避免收入指标出现偏差。

有关在 SDK 集成中设置事件的更多信息,请参阅相应的SDK 指南和《测试事件和收入》。

 

一般问题

什么原因导致无效购买?

无效购买通常是由以下类型的欺诈造成的:

  1. 用户欺诈: 真实用户入侵/愚弄应用程序,在不付费的情况下获得基于 IAP 的优惠/物品。

  2. 营销欺诈: 欺诈发行商发送虚假的收入事件,以提高他们的KPI,让人觉得他们带来了高质量的用户。

Singular如何验证购买行为?

当用户通过 Android 和 iOS 应用程序进行金融交易时,Google Play 和 Apple App Store 会生成数字收据。 每张收据都会对购买的详细信息进行编码,并由 Google/Apple 进行加密签名。

您可以将购买收据与收入事件一起发送给 Singular,以便 Singular 验证购买的合法性。

当 Singular 收到带有收据的收入事件时,它会检查以下内容:

  1. Singular 收到收据。
  2. 收据未重复使用(即在过去的交易中发送)。
  3. 收据上的签名有效。
    1. iOS 系统中,Singular 使用苹果公司的证书验证签名。
    2. 安卓系统中,Singular 会使用应用程序的授权密钥(如果已提供)。
  4. 收据详情与应用程序和交易详情相符

如果 Singular 发现收入事件无效,则会将其重命名为__iapinvalid__。

注: 为使流程更加安全,您可以提供以下信息:

如何向 Singular 发送购买收据?

要发送购买收据,请根据平台和集成类型使用正确的 IAP 报告方法:

当 Singular 收到没有收据的购买事件时会发生什么?

收据缺失可能表明收入存在欺诈。

一旦您的应用程序版本可以为每次购买向 Singular 发送收据,并且新版本已在应用程序商店上线,所有新事件(从该版本开始)都应包含收据。

要让 Singular 拒绝任何不附带收据的购买行为,请在 "应用程序"页面为您的应用程序启用 "拒绝无收据的 IAP"选项。

注意: 在启用此选项之前安装或更新应用程序的用户的收入将不会被拒绝。确切日期显示在切换旁边。

mceclip0.png

购买验证如何影响我的报告?

启用购买验证后,报告中的 "收入"字段将只显示有效收入。

mceclip0.png

购买验证如何反映在 Singular 的日志(导出日志)中?

以下字段会出现在事件回传类型的日志中:

字段 查找
Event name 如果收据无效,事件名称为__iapinvalid__。
Event revenue 如果收据无效,事件收入为 0。
Received revenue event 原始事件名称。
Received revenue 最初声称的收入。
Is revenue receipt included 是否提供了购物收据。
Is revenue valid 购买是否有效。
如何在回传中反映购买验证?

内部 BI 回传

Singular 发送以下参数:

参数 查找
event_name 如果收据无效,事件名称为__iapinvalid__
amount 如果收据无效,事件收入为 0。
received_revenue_event 原始事件名称。
received_revenue 最初声称的收入。
purchase_receipt_included 是否提供了购物收据。
purchase_receipt_valid 购买是否有效。

自定义回传

要配置自定义回传,请参阅回传宏和直通参数中的事件部分。

注意: 如果要接收被拒绝收入的回传,可以配置 __iapinvalid__ 事件的回传