在添加新的交易观察者时,总是会调用SKPaymentTransactionObserver
函数func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
之类的功能,并且我在付款队列中留下未完成的purchased
状态交易。我尝试使用自动可更新订阅和消耗性订阅,并得到了相同的行为。这是预期的吗?
如果不总是调用它。我不确定我是否可以依靠paymentQueue(_:updatedTransactions:)
在应用启动时处理未完成的交易。还是我应该手动阅读paymentQueue.transactions
并从那里拿走它。有什么建议吗?
在此documentation中,应在从后台启动或恢复时调用此功能。
未完成的交易留在付款队列中。每当从后台启动或从后台恢复运行时,StoreKit都会调用该应用程序的永久观察者的paymentQueue(_:updatedTransactions :),直到该应用程序完成这些交易为止。结果,App Store可能会反复提示用户对他们的购买进行身份验证,或阻止他们从该应用程序购买产品。