自动续订订阅错误
Posted
技术标签:
【中文标题】自动续订订阅错误【英文标题】:Auto-renewable subscription error 【发布时间】:2013-01-27 18:41:31 【问题描述】:我正在开发一个报亭应用,该应用具有自动续订订阅,每 12 个月续订一次。问题是当已经订阅的用户尝试再次购买订阅时。根据文档,如果用户已经订阅,StoreKit 框架应该返回SKPaymentTransactionStateRestored
,但在 StoreKit 委托方法中返回SKPaymentTransactionStateFailed
:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
步骤:
-
购买自动续订订阅
购买成功后,再次删除App重新安装。
再次使用相同的 Apple ID 和密码购买自动续订订阅,或尝试使用相同的 Apple ID 在其他设备上购买相同的订阅。
我怀疑它不是恢复以前的购买,而是提出新的购买请求并相应地更新订阅期。
这不是基于帐户的应用程序,因此我无法在服务器上存储和检查订阅期。
【问题讨论】:
【参考方案1】:你应该在你的应用中添加两个按钮:
购买 - 只购买自动续订订阅 Restore - 将尝试使用[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]
恢复现有订阅
您可以在用户界面中为用户写一些解释,例如“如果您已经购买了此订阅,请点击恢复”
这项技术是在三四次被 Apple 拒绝时发明的,因为“用户应该有能力恢复他们的订阅”,“如果用户不期望密码提示,则用户不应该得到密码提示”(它要求用户通过时恢复已完成的交易)等等。
【讨论】:
以上是关于自动续订订阅错误的主要内容,如果未能解决你的问题,请参考以下文章