restoreCompletedTransactions

restoreCompletedTransactions

我的应用程序使用订阅模式,但有些用户无法通过SKPaymentQueue.restoreCompletedTransactions恢复他们的订阅,这引起了我的提示。他们必须删除该应用程序,然后从AppStore重新下载。

我不太确定为什么只对某些用户发生这种情况,其中一个告诉我他通过iTunes取消并重新激活,另一个关于付款问题。

那么,为什么他们需要重新下载该应用程序?我猜测收据上的某些信息无法正确刷新,因此我在考虑使用SKReceiptRefreshRequest而不是restoreCompletedTransactions,或同时使用两者。

有人可以解释这两个过程之间的区别吗?

最佳答案

SKReceiptRefreshRequestRestoreCompletedTransactions之间的区别非常简单:

SKReceiptRefreshRequest



RestoreCompletedTransactions



我们可以同时使用SKReceiptRefreshRequest和“还原完成的交易”来验证用户订阅,但是在以下情况下,我们必须使用“还原完成的交易”来刷新收据:

  • 如果您使用Apple托管的内容,则还原已完成的交易会为您的应用程序提供用于下载内容的交易对象。
  • 如果您需要支持iOS 7之前的iOS版本(其中没有可用的应用收据),请改为还原已完成的交易。
  • 如果您的应用程序使用非续订订阅,则您的应用程序将负责还原过程。

  • 引用: https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Restoring.html#//apple_ref/doc/uid/TP40008267-CH8-SW9

    关于ios - SKReceiptRefreshRequest与restoreCompletedTransactions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40897238/

    10-10 23:19