如果用户正在进行恢复但之前从未购买过该IAP包,我该怎样才能解除这种情况。
当我触发
时SKPaymentQueue.default().restoreCompletedTransactions()
系统会触发以下回调
1)对于已经购买的商品,那个订单中的2个
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) {
2)对于尚未购买的商品,只需
func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) {
通过这种可能的组合,我如何确保/验证呼叫恢复'被叫,但结果是"尚未购买"。
我是否真的必须保存状态" paymentQueue尚未被调用,现在paymentQueueRestoreCompletedTransactionsFinished被称为"作为条件?
答案 0 :(得分:1)
您需要做的就是像处理初始购买案例一样处理交付给updatedTransactions
的任何购买。 IE浏览器。解锁内容或提供其他功能,并坚持购买钥匙串或您正在使用的任何方法。
paymentQueueRestoreCompletedTransactionsFinished
可让您知道还原操作已完成。如果需要,您可以使用此方法更新UI。例如,如果在开始还原时显示活动指示符,则可以使用此回调删除该指示符。