Unity3d (AppsFlyer/Unity IAP软件包)AppsFlyer应用程序内购买事件-AppsFlyer控制台中显示的收入值不正确

Unity3d (AppsFlyer/Unity IAP软件包)AppsFlyer应用程序内购买事件-AppsFlyer控制台中显示的收入值不正确,unity3d,analytics,appsflyer,appsflyer-android-sdk,Unity3d,Analytics,Appsflyer,Appsflyer Android Sdk,AppsFlyer控制台中显示的总收入明显大于实际收入 当我们查看CSV导出的数据时,我们注意到许多af_购买事件使用美元货币,但收入值非常不同-例如,如果应用程序中的金额为1.99美元,则在某些情况下该值显示正确(1.99美元),但在许多情况下,我们看到的数据不正确(33、35、40、66、67美元,许多不同的值) 对于IAP集成,我们使用Unity IAP服务,对于af_购买事件,我们发送的数据由Unity IAP服务方法(PurchaseEventArgsclass)提供,我们从中读取以下

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

当我们查看CSV导出的数据时,我们注意到许多af_购买事件使用美元货币,但收入值非常不同-例如,如果应用程序中的金额为1.99美元,则在某些情况下该值显示正确(1.99美元),但在许多情况下,我们看到的数据不正确(33、35、40、66、67美元,许多不同的值)

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

我们没有以任何方式格式化此数据,收入值不包含逗号、货币符号或特殊字符,我们仅在货币转换后获得用户所在国家的本地化收入值。我们检查了设备日志上的数据,数据显示正确,至少在我国是这样(即1.99美元变成RSD 199)

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

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


我们正在将AppsFlyer SDK 5.4.1、Unity 2018.3.3f1与应用内采购包2.0.3一起使用。

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

我们没有任何购买验证方法,所有被黑客入侵的应用程序内购买都有一个错误的收据,带有随机的收入值,可能没有货币,AppsFlyer会自动将其分配给美元


我们已经实现了AppsFlyer提供的应用内购买验证方法,该方法首先验证购买,然后在一切正常的情况下将事件发送到AppsFlyer控制台。通过这种方法,我们过滤掉了无效事件,这在清理控制台方面帮了我们很大的忙。

我不确定我是否理解这种情况。当您发送具有收入值的收入事件时,是否以美元发送?如果使用其他货币,您是否也发送该货币的名称?@babasmith感谢您再次提出这个问题。我们发送Unity IAP服务提供的本地化收入和货币,在许多情况下是美元以外的货币,但在某些情况下,货币是美元,但收入远大于实际应用内价格。我们找出了问题所在,我将提供一个更详细的答案来回答这个问题。