首页 / 正文

iOS 自动订阅内购测试及如何取消?

学习笔记 2020-06-13 Bee 2 82

最近在开发新的 App,因为包含了一个自动订阅内购,因此需要根据订购信息判断该内购产品是否仍然处在有效期。但是,由于仍然在测试中,非生产环境,且苹果也没有提供删除测试订单的功能。

经过一番查找,原来苹果是提供了解决方案的。如下图:

简单说就是,对于订阅产品,实际的有效时间和测试环境的有效时间是有区别的。

比如,如果该产品是每年订阅的,那么在测试环境中的有效期就是 1 个小时。

之所以缩短测试环境中的有效时长,也是为了方便开发者。

除此之外,在获取订阅信息的时候,也会返回该订阅的详细信息:

SwiftyStoreKit.verifySubscriptions(productIds: productIds, inReceipt: receipt)

执行上述代码,有三种可能状态(且包含了具体信息,包括过期时间等)

  • purchased
  • expired
  • noPurchased

因此我们就能够很好的处理自定订阅的问题了。

评论


全部评论

  • 2020-06-13 23:33

    swift真方便,RN哭了

    回复
    • Bee 2020-06-18 09:58
      @

      是啊,其实我原本也用过跨平台开发技术,但用过原生之后,发现其实工作量也没有增加多少,甚至是可以减少的

      回复