【发布时间】:2018-03-27 21:10:07
【问题描述】:
我的用户一直在遇到这种应用内购买问题,我的用户中只有一半或有时四分之一能够成功地进行应用内购买的自动续订。在网络上进行了一些研究后,我找不到任何解决方案并与 Apple 联系。正如您可以想象的那样,他们需要很长时间才能返回甚至询问设备日志。一些背景资料;在开发环境和 TestFlight 上没有问题。此问题仅发生在生产环境中。我还检查了 iOS 版本、设备型号和国家/地区,没有针对失败用户的模式。在等待 Apple 回复时,我尽我所能调查问题并尝试了几件事来进一步调试。
我发布了一个新的更新,其中包含一个新创建的订阅组和一个通过 iTunes Connect 进行的订阅,重写了整个 IAP 代码并将分析跟踪器放在购买的每个步骤中,以便能够获取错误日志。
发布后,我等了几个小时,发现很多用户无法购买。有趣的是,52 位用户中有 26 位成功购买,但其余的都面临这个问题。所有遇到此问题的用户也会出现相同的错误日志;
错误域=SKErrorDomain 代码=2“无法连接到 iTunes Store” UserInfo={NSLocalizedDescription=无法连接到 iTunes Store}
我在网上搜索了错误,但找不到任何解决方案或理解此错误的含义。
现在我实现了 SKError 以获取更多日志。
我尝试在生产环境中的 4 台不同设备上进行购买,均已成功付款。
我的一位用户还给我发了电子邮件,抱怨她收到了一封来自 Apple 的确认电子邮件,说她已被收费,但未启用高级功能。现在我们知道他们会被收费,这更有趣。
从分析跟踪器我可以看出;
1) 应用成功获取可用产品
2) 当调用 updatedTransactions 委托方法时,transactionState 变为“purchasing”。
3) 然后第二次调用 updatedTransactions 委托方法时,transactionState 变为“失败”。
4) 我在来自 trans.error.debugDescription 的失败块中收到上述错误。
5) 由于 transactionState 失败,我不使用后端验证收据,因此未启用高级功能。
这就是我所知道的。如果有人能帮助我解决这个问题,我将不胜感激。看起来 Apple 需要很长时间才能解决这个问题,而且我正在失去付费用户。
您还可以通过以下链接查看我的 IAP 代码: https://www.dropbox.com/s/328si32e73nizyc/IAPHandler.swift?dl=0
【问题讨论】:
-
最近还有另一个类似的问题 - IAP,开发人员设备可以工作,而大部分用户设备不工作。我想知道你是否问过它,所以我检查了你之前的问题。您的 当前 代码是否仍涉及 Ruby on Rails 或服务器上的其他内容?看来这可能是一个检查的地方。
-
这个帖子可能对您来说很有趣,即使它适用于非自动续订 IAP。 forums.developer.apple.com/thread/88973?sr=stream&ru=17317
-
@dfd Ruby on Rails 问题是另一个应用程序,它运行良好。试图在网上研究这个问题,但找不到任何解决方案。
-
@AlexWoe89 这很有帮助,谢谢!
-
这方面有什么进展吗?
标签: ios swift in-app-purchase app-store-connect itunes-store