我最近推出了一款iPhone App,其中包括App Store中的应用内购买(IAP)。该应用程序和相关的IAP已获批准并由Apple批准销售。该应用程序正在下载,一切似乎都按预期工作。
我的分析服务正在报告发生的IAP事件,但我的每日Apple销售报告中只显示了所谓购买的很小一部分。
只会从处理事务更新的StoreKit回调的方法触发购买事件:
- (void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
...
}
}
}
- (void) completeTransaction:(SKPaymentTransaction *)transaction {
[MyAppDelegate completeIAPPurchase:productId];
}
- (bool) completeIAPPurchase:(NSString *)productId {
// log IAP here
}
这是导致使用分析提供程序记录IAP事件的唯一途径。
分析服务报告了大量购买事件以及其他应用事件,这使我相信分析(至少是合理的)正确。
Apple的每日销售报告仅报告了分析报告的购买数量的一小部分(约10%)。
我已经梳理了代码,擦了一个测试设备并重新测试了那里的一切,我发现应用程序逻辑本身没有任何问题。
一个有趣的观察结果是,Apple报告的大部分购买量似乎都与我团队的测试购买量有关。我不能确定所有这些都可以,但看起来开发团队所做的购买似乎都是由分析提供商和Apple记录的。似乎从App Store下载应用程序的用户所做的购买很大程度上没有被Apple报告。
我已尝试验证所有应用设置/配置详细信息(配置配置文件已启用IAP,正确使用正确的应用ID等),以确保团队使用的安装与之间没有任何不同我们的用户下载的那些。
我为没有很多代码要分享而道歉,但这似乎更像是一个配置问题(?),无论是iTunes Connect中的应用程序设置还是我错过的区别于安装的/开发团队使用的设备来自用户使用的设备。
有没有人经历过类似的事情?我很难过去看下一步。我已经通过iTunes Connect"联系我们"向Apple提交了一个问题。但也希望与社区联系。
任何帮助将不胜感激!谢谢!