【问题标题】:is MKStoreKit right option to use for auto renewable in app subscription?MKStoreKit 是在应用订阅中用于自动更新的正确选择吗?
【发布时间】:2013-06-05 17:40:58
【问题描述】:

朋友们好,我只想问几个问题:

  1. MKStoreKit 非常适合用于自动续订订阅,还是它有任何漏洞,因为我使用它使用内置模型在有限的时间内订阅多个产品。?

  2. 我正在使用 MKStoreKit 来处理自动更新订阅。我目前正在测试 1 个月的订阅(在测试中订阅持续 5 分钟)。购买订阅后,我等待它过期。到期后,我会检查订阅是否仍然有效。 这会像我期望的那样返回 false 。但是,由于它是自动续订的,我希望 MKStoreKit 届时会联系 Apple 以重新验证订阅。

  3. 我有责任在订阅到期时处理自动续订,我的意思是说我必须在我的应用中实现 kSubscriptionsPurchasedNotification 通知的观察者。

提前致谢

【问题讨论】:

    标签: iphone ios mkstorekit


    【解决方案1】:

    不久前我也有这个问题。

    1. MKStoreKit 现在不是一个理想的解决方案,因为它不支持 iOS7 和新的 App Receipt 系统。

    2-3。 Apple documentation 解释说他们会在到期前 24 小时更新收据,然后:

    订阅成功续订后,Store Kit 将续订交易添加到交易队列中。您的应用程序会在启动时检查事务队列,并以与任何其他事务相同的方式处理续订。请注意,如果您的应用在订阅更新时已经在运行,则不会调用事务观察器;您的应用会在下次启动时发现续订。

    您的应用“在启动时检查事务队列”,您需要通过设置SKPaymentTransactionObserver

    [[SKPaymentQueue defaultQueue] addTransactionObserver:yourTransactionObserver];
    

    处理:

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

    就像您第一次订阅时一样。

    在测试时,您可以尝试强制关闭您的应用,然后在过期后重新启动它,看看它是否在启动时成功续订。或者,您可以重新验证您从原始订阅中保存的收据。如果发生续订,验证服务器会返回一个新收据,然后您可以从中获取最近的到期日期。

    如果您想查看,我已将我的自动更新订阅实现放在 github 上。 RMStore 是另一个支持 iOS7 的库,也适用于其他类型的购买。

    【讨论】:

      猜你喜欢
      • 2012-09-08
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      相关资源
      最近更新 更多