【发布时间】:2011-09-24 04:34:02
【问题描述】:
我订购了一个自动更新的产品,5分钟后,它就过期了!
我认为在 Sandbox 中 5 分钟等于 1 个月,
在当前订阅期结束时(5 分钟后),不应该自动续订吗? 但它已经过期了。
【问题讨论】:
标签: ios subscriptions
我订购了一个自动更新的产品,5分钟后,它就过期了!
我认为在 Sandbox 中 5 分钟等于 1 个月,
在当前订阅期结束时(5 分钟后),不应该自动续订吗? 但它已经过期了。
【问题讨论】:
标签: ios subscriptions
这也是我的经验。沙盒环境中的自动更新不一致。在某些情况下,我看到沙盒订阅在结束前会自动续订约 5 次。但在其他情况下,它根本不会自动更新。我假设这些问题在生产环境中不存在。
【讨论】:
我也遇到过这种情况,但如果我从多任务处理托盘中终止应用程序(或在 Xcode 中停止进程)并重新启动,我会得到一个状态为“SKPaymentTransactionStatePurchased”的更新事务,该事务实质上是续订订阅。检查出。它至少会给你一些东西。非常令人沮丧的是,这是如此不一致并且与文档不一致。
【讨论】:
在沙盒环境中,自动续订订阅比实际时间短得多。来自this answer:
Actual duration Sandbox duration
1 week 3 minutes
1 month 5 minutes
2 months 10 minutes
3 months 15 minutes
6 months 30 minutes
1 year 1 hour
虽然没有记录这一事实,但根据some developers in Apple's developer forum(以及我自己的经验),订阅将在您收到 21006 错误(订阅过期错误)之前续订 5 次。因此,如果您有 1 个月的订阅,它将每 5 分钟续订 25 分钟。不过不要依赖这个事实,因为它没有正式记录,并且可能随时更改。
【讨论】:
21006。我似乎总是得到状态 0。我使用github.com/pcrawfor/iap_verifier 来验证 NodeJS 上的收据。假设我应该始终使用verifyAutoRenewReceipt 方法?不确定verifyReceipt 做了什么,但我一直无法让它工作。