Ada*_*nst 5 cocoa-touch subscription in-app-purchase ios
根据Apple In App Purchase编程指南:
每次续订订阅时,App Store都会创建一个单独的事务.当您的应用程序恢复以前的购买时,Store Kit会将每笔交易交付给您的应用程序.
让我们假设我的应用订阅仅限客户端(没有服务器组件).验证后续续费的最简单方法似乎是每月恢复以前的购买.
但是,每次打电话时都会弹出用户的iTunes密码提示restoreCompletedTransactions,这似乎是糟糕的用户体验.唯一可以使用服务器收据验证码(以及新的"共享密码")吗?
小智 3
App Store 会调用 paymentQueue 并在每次自动更新时发布交易。交易以 transaction.transactionState==SKPaymentTransactionStateRestored 发布。
问题是不幸的是这仅发布到一台设备。第二台设备未收到该帖子。因此,要检测自动续订,或者更确切地说,要检测缺乏自动续订并拒绝任何设备的持续订阅,您必须执行 RestoreCompletedTransaction 或“http post 包含最后一笔交易的 64 位编码 JSON”。如果是前者,用户需要提供密码;正如你所指出的,这是侵入性的。如果是后者,则需要大量额外的编码。所以,我在回答你的问题时的问题是......为什么 StoreKit 没有命令:
(不存在) - [[SKPaymentQueue defaultQueue] RestoreAttachedTransactions:(NSArray *)transactions];
该命令的流程就像restoreCompletedTransactions 一样,但它只会恢复附加的事务,最重要的是,它不需要用户登录。它具有与“http 发布包含最后一笔交易的 64 位编码 JSON”相同的安全保护,并且允许整个应用内购买流程在 StoreKit 中完成,而不需要 Web 发布代码。
如果这对您有意义,请建议如何将其发送给 Apple...谢谢。
| 归档时间: |
|
| 查看次数: |
3132 次 |
| 最近记录: |