我的产品有非续订订阅类型,我需要恢复用户以前制作的交易的功能。我购买了几个这样的产品,并希望恢复它们。我使用这个典型的代码:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
但我得到paymentQueueRestoreCompletedTransactionsFinished:
没有任何已恢复的交易。我将沙箱环境与测试用户一起使用。
答案 0 :(得分:3)
iTunes应用商店不会恢复非续订订阅。跟踪用户的订阅状态是您的责任 -
来自In-App Purchase Programming Guide
非续订订阅与自动续订订阅的区别在于几个关键方式。这些差异使您的应用程序可以灵活地实现正确的 根据您的需要行为,如下:
您的应用负责计算时间段 订阅处于活动状态并确定需要进行哪些内容 可供用户使用。你的应用负责检测a 订阅即将到期,并提示用户 通过再次购买产品来续订订阅。
你的应用是 负责在所有用户之间提供订阅 购买后的设备以及让用户恢复过去的设备 购买。例如,大多数订阅由服务器提供; 您的服务器需要一些机制来识别用户和关联 与购买它们的用户订购。