ios - 无法恢复非续订订阅的已完成交易

标签 ios storekit

我的产品具有不可续订订阅类型,并且我需要恢复用户先前进行的交易的功能。我购买了几种此类产品,并希望将其还原。我使用以下典型代码:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

但是我得到了paymentQueueRestoreCompletedTransactionsFinished:而没有任何恢复的事务。我与测试用户一起使用沙盒环境。

最佳答案

iTunes App Store不会还原非续订的订阅。跟踪用户的订阅状态是您的应用的责任-
In-App Purchase Programming Guide

非续订订阅与自动续订订阅在一些关键方面有所不同。这些差异使您的应用可以灵活地实施正确的
满足您的需求的行为,如下所示:
您的应用负责计算以下时间段:
订阅处于 Activity 状态,并确定需要制作哪些内容
可供用户使用。您的应用负责检测
订阅即将到期,并提示用户
通过再次购买产品来续订订阅。
您的应用是
负责使订阅在所有用户的
购买后的设备,用于让用户恢复过去
购买。例如,大多数订阅是由服务器提供的。
您的服务器将需要某种机制来识别用户并进行关联
订阅是与购买它们的用户一起购买的。

关于ios - 无法恢复非续订订阅的已完成交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29264921/

相关文章:

ios - 我们可以在iOS应用中同时使用核心数据和SQlite吗

ios - 如何快速激活操作表按钮?

ios - Swift - 对美元值数组进行排序

ios - SKStoreProductViewController 因名为 sceneDisconnected : in iOS 15. 6 beta5 的无法识别选择器而崩溃

ios - 生产(订阅)中的错误域=SKErrorDomain 代码=2 "can not connect to iTunes Store"?

ios - React Native 应用程序中的 PhaseScriptExecution 错误

ios - XCUITest 意外行为

objective-c - 关闭商店 View 后在 App Purchase 中崩溃

ios 应用内购买相关崩溃

ios - 无法接收任何弹出窗口或用户登录提示