首页 文章

自动续订订阅错误

提问于
浏览
2

我正在制作一个报亭应用程序,该应用程序具有可自动更新的订阅,每12个月更新一次 . 问题是当已订阅的用户再次尝试购买订阅时 . 根据文档,如果用户已经订阅,StoreKit框架应返回 SKPaymentTransactionStateRestored ,但它在StoreKit委托方法中返回 SKPaymentTransactionStateFailed

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

脚步:

  • 购买自动续订订阅

  • 成功购买后,再次删除并重新安装应用程序 .

  • 再次购买具有相同Apple ID和密码的自动续订订阅,或尝试使用相同的Apple Id在其他设备上购买相同的订阅 .

我怀疑这不是恢复之前的购买,而是提出新的购买请求并相应地更新订购周期 .

这不是基于帐户的应用程序,因此我无法在服务器上存储和检查订阅期 .

1 回答

  • 3

    您应该在应用中添加两个按钮:

    • 购买 - 只需购买自动续订订阅

    • 还原 - 将尝试使用 [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] 恢复现有订阅

    您可以在用户界面中为用户写一些解释,例如“如果您已购买此订阅,只需点击恢复”

    这项技术是在Apple三次或四次拒绝期间发明的,因为“用户应该有能力恢复他们的订阅”,“用户不应该在没有预期的情况下获得密码提示”(它在恢复已完成的交易时要求用户通过), 等等 .

相关问题