朋友您好我只想知道几个问题:
MKStoreKit很适合用于自动续订订阅,或者它有任何漏洞,因为我使用内置模型在有限的时间内使用它来订阅多个产品。
我正在使用MKStoreKit来处理autorenewable订阅。我目前正在测试1个月的订阅(在测试中,订阅持续5分钟)。购买订阅后,我等待它过期。一旦过期,我检查订阅是否仍然有效。 这会像我期望的那样返回false。但是,由于它是自动更新,我希望MKStoreKit可以联系Apple以重新验证订阅。
我是否有责任在过期时处理自动续订订阅,我的意思是说我必须在我的应用程序中实现kSubscriptionsPurchasedNotification通知的观察者。
提前致谢
答案 0 :(得分:2)
我有一段时间也有这个问题。
2-3。 Apple documentation解释说,他们会在到期前的24小时内续签收据,然后:
成功续订订阅后,Store Kit会将续订事务添加到事务队列中。您的应用程序在启动时检查事务队列,并以与任何其他事务相同的方式处理续订。请注意,如果您的应用在订阅续订时已在运行,则不会调用事务观察器;您的应用在下次启动时会发现续订。
您的应用“在启动时检查交易队列”,您需要通过
设置SKPaymentTransactionObserver
[[SKPaymentQueue defaultQueue] addTransactionObserver:yourTransactionObserver];
处理:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
就像你第一次订阅时一样。
在测试时,您可以尝试强制关闭您的应用,然后在它过期后重新启动它,以查看它是否在启动时成功续订。或者,您可以重新验证从原始订阅中保存的收据。如果发生续订,验证服务器会返回新收据,然后您可以从中获取最新的到期日期。
如果您想查看我的github,我已将我的autorenewable订阅实施付诸实施。 RMStore是另一个支持iOS7的库,也适用于其他类型的购买。