我正在实现应用内购买并在我的服务器上验证收据。
当我在 paymentQueue:updatedTransactions:
期间遇到 SKPaymentTransactionStatePurchased
时,我将收据发送到我的服务器进行验证。当我的服务器响应 OK 时,我调用 finishTransaction
。
如果我的服务器离线或者我无法验证收据,是什么触发应用程序再次调用 paymentQueue:updatedTransactions:
,有效地让我有机会重试验证?我注意到重新启动应用程序会执行此操作 - 还有其他吗?当应用程序保持运行时,它会以固定频率再次调用吗?
是否有手动方式强制事务队列循环?
最佳答案
我认为 TomSwift 不想恢复已购买的付款, 但他希望应用程序调用 paymentQueue:updatedTransactions 再次使用 SKPaymentTransactionStatePurchased 标志 未完成交易
他知道的唯一方法是重新启动应用
我试过 [[SKPaymentQueue defaultQueue] removeTransactionObserver:mMyStoreObserver]; [[SKPaymentQueue defaultQueue] addTransactionObserver:mMyStoreObserver]; 再次
但它不起作用..
非finishTransaction的问题是 苹果会说它已被购买但从未下载过 再次尝试购买相同的产品ID时,将进入SKPaymentTransactionStateFailed。
关于iphone - 在应用程序购买中,SKPaymentTransactionStatePurchased 重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5224256/