沙盒中的到期日期后自动更新订阅IAP续订

时间:2017-02-10 11:36:47

标签: ios in-app-purchase subscription auto-renewable

根据Apple的文件......

  

在订阅到期之前的24小时内,应用程序   商店开始尝试自动续订。 App Store使   多次尝试在一段时间内自动续订订阅   时间,但如果有太多失败的尝试,最终会停止。

我运行一个脚本,通过将收据发送给apple然后检查响应是否已更新来确定订阅是否已过期。如果它还没有,当前的订阅到期日期是在我运行脚本的时间之前,我把它作为过期的订阅,因为我假设它会在过去的24小时内更新(或者等同于之前不久的沙盒中)环境)。

在沙盒上我看到了在到期日之后可以续订订阅的行为 - 我将其标记为已过期,然后在未来的运行中,响应中会有续订。

E.g。订阅的截止日期为“2017-02-08T15:32:41Z”,因此我希望苹果在此之前显示续订。然而,它并没有我标记为已过期。在下一次运行脚本时,将显示更新,其过期日期为“2017-02-08T15:39:55Z”,这是在上一个到期日期后超过7分钟,这表示续订发生在上一个到期日期后2分钟(占沙盒中5分钟的订阅长度)。有很多这方面的例子。

我的问题是如何在生产中解释这种行为?会发生吗?我应该表现得好像订阅已经过期,看到过期日期已经过去了吗?或者我应该留出更多时间,因为沙盒行为与文档相矛盾。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题。从文档......

  

续订以加速的速度发生,并且可以自动更新   订阅每天最多续订六次。这让你测试   您的应用如何处理订阅续订,订阅失效和   包含差距的订阅历史记录。

     

由于加速到期和更新率,因此   订阅可以在系统开始尝试续订之前到期   订阅,在订阅期内留下一小段失误。这样   由于各种原因,生产中也可能出现失误   确保您的应用正确处理它们。