我正在使用应用内购买启用此应用。 快乐的道路全部被覆盖,一切都很好,我正在努力找出不快乐的道路。
简而言之,购买绑定到服务器端组件。 在购买时,当交易处于“已购买”状态时,我应该去服务器,这将启用用户的帐户。 当请求返回时,我会清理一些东西并最终在SKPaymentQueue上调用-finishTransaction。
当服务器调用因任何原因失败时,非快乐路径就非常多了。网络不可用,网络超时,用户在购买后立即关闭应用程序,就在我打电话给服务器之前,您可以为其命名。
我在带有沙箱帐户的5.1模拟器中的测试显示,未完成的已购买交易将在下次启动时返回队列,并且我的代理将被正确调用。 但是,过了一会儿,例如说5分钟,繁荣,消失就是交易。 考虑到沙箱帐户的整体稳定性,我愿意在模拟器的实现上调用它,但很难说。
处理这个问题的恰当方法是什么?
奖金问题:苹果实际上何时向某人收费?听起来它应该是应用程序名为-finishTransaction:,但我无法在任何地方找到任何证据。
谢谢, / KRA
更新: 在物理设备上测试,差不多一个小时,交易仍在那里。看起来交易消失是模拟器的事情。
答案 0 :(得分:0)
当我实施应用内购买时,我放弃了在模拟器中测试它。行为太不同了。在设备上测试它,看它是否在那里工作。
我也对你关于充电的问题感兴趣,因为我也不完全确定它(我的应用程序尚未发布;))。