我期待this线程。
声明App Store调用paymentQueue并使用transaction.transactionState==SKPaymentTransactionStateRestored
发布交易。
但我没有接到这些电话。我正在测试
sandbox
个帐户/订阅,过期并每3分钟自动续订一次; 这样,我的updatedTransaction方法在第一次购买后永远不会被调用。
无论如何,如果我稍后恢复已完成的交易,我会收到所有收据。
有关沙箱的任何经验吗?另外,需要点2)或(我认为)这是可选的吗?
答案 0 :(得分:3)
状态:SKPaymentTransactionStateRestored
仅在用户设备上有收据并且您用它来进行交易时才会确定。如果您没有收据,则需要致电restoreCompletedTransactions
以决定是否应用自动续订的订阅。
当您没有收据时,用户购买auto-renewable
订阅,然后删除应用程序或在其他设备上安装应用程序。在其他情况下,您可以安全地将收据存储在设备上。
问题在于检测用户购买auto-renewing
订阅并需要激活内容的情况。没有收据,如果您触发交易,它将失败并显示状态SKPaymentTransactionStateFailed
。查看错误代码,您会看到SKErrorPaymentCancelled
。据我所知,这是苹果公司的一个漏洞。您需要为应用程序做出最佳决策来处理它:/