我正在开发启用了应用内购买的此应用。幸福的道路都被覆盖了,一切都很好,我正在努力解决不幸福的道路。
简单来说,购买是绑定到服务器端组件的。购买时,当交易处于“已购买”状态时,我应该去服务器,这将启用用户的帐户。当请求返回时,我会清理一些东西并最终在 SKPaymentQueue 上调用 -finishTransaction:。
当服务器调用由于某种原因失败时,不愉快的路径几乎是。网络不可用,网络超时,用户在购买后立即关闭了应用程序,就在我可以进行服务器调用之前,你可以命名它。
我在 5.1 模拟器中使用沙盒帐户进行的测试表明,未完成的已购买交易将在下次启动时返回队列中,并且我的委托将被正确调用。但是,过了一会儿,比如 5 分钟,交易就消失了。考虑到沙盒帐户的整体稳定性,我愿意在模拟器的实现上称其为,但很难说。
处理这个问题的适当方法是什么?
额外的问题:苹果何时真正向某人收费?听起来应该是在名为 -finishTransaction: 的应用程序之后,但我在任何地方都找不到任何证据。
谢谢,/克拉
更新:在物理设备上进行测试,将近一个小时,交易仍然存在。看起来交易消失是模拟器的事情。