1

AppsFlyer 控制台中显示的总收入明显高于实际收入。

当我们查看来自 CSV 导出的数据时,我们注意到许多 af_purchase 事件使用美元货币,但收入值却大不相同 - 例如,如果应用内为 1.99 美元,则在某些情况下该值正确显示(1.99 美元) ,但在很多情况下,我们看到的数据不正确(33、35、40、66、67 美元,很多不同的值)。

对于 IAP 集成,我们使用 Unity IAP 服务,对于 af_purchase 事件,我们发送的数据由 Unity IAP 服务方法(PurchaseEventArgs类)提供,我们从中读取以下值:purchasedProduct.definition.idpurchasedProduct.metadata.localizedPricepurchasedProduct.metadata.isoCurrencyCode分别用于产品 ID、收入和货币)。

我们不会以任何方式格式化此数据,收益值不包含逗号、货币符号或特殊字符,我们仅在货币转换后获取用户所在国家/地区的本地化收益值。我们检查了设备日志中的这些数据,并且数据显示正确,至少对于我们的国家而言(即 1.99 美元变为 RSD 199)。

控制台中也有从其他几个国家注册的事件,具有正确的收入和货币数据。我们知道,如果事件中不包含任何货币,AppsFlyer 会自动将货币设置为美元。

Unity IAP 服务是否有可能无法在所有情况下为我们提供正确或完整的数据?我们不确定导致此问题的原因,但我们假设在某些情况下 ISO 货币代码字符串丢失或本地化价格由于某种原因不正确。任何帮助将不胜感激。

我们正在使用 AppsFlyer SDK 5.4.1、Unity 2018.3.3f1 和 In App Purchasing 包 2.0.3。

4

1 回答 1

2

我们最终弄清楚了问题所在。在对 AppsFlyer 控制台中的事件进行进一步分析后,我们得出结论,所有这些无效的 af_purchase 事件都是由修改了应用程序版本或以其他方式入侵应用内购买的用户制造的。

我们没有任何购买验证方法,所有被黑客入侵的应用内购买都有不正确的收据,其中包含随机的收入值,可能没有货币,AppsFlyer 会自动将其分配给美元。

我们已经实现了 AppsFlyer 提供的应用内购买验证方法,它首先验证购买,然后如果一切正确,则将事件发送到 AppsFlyer 控制台。使用这种方法,我们过滤掉了无效事件,它对我们清理控制台有很大帮助。

于 2021-04-29T11:21:17.033 回答