根据苹果的文档...
在订阅到期前的 24 小时内,App Store 开始尝试自动续订。App Store 会在一段时间内多次尝试自动续订订阅,但如果尝试失败次数过多,最终会停止。
我运行一个脚本,通过将收据发送给苹果然后检查响应以查看它是否已更新来确定订阅是否已过期。如果它没有并且当前订阅到期日期在我运行脚本的时间之前,我将其视为过期订阅,因为我假设它会在前 24 小时内更新(或相当于沙盒中不久之前环境)。
在沙盒上,我看到可以在到期日期后续订订阅的行为 - 我将其标记为已过期,然后在未来的运行中会在响应中续订。
例如,订阅的到期日期为“2017-02-08T15:32:41Z”,所以我希望苹果会在此之前显示续订。但是它没有,所以我标记为过期。在脚本的下一次运行中,会出现一个过期日期为“2017-02-08T15:39:55Z”的续订,这比上一个过期日期晚了 7 分钟以上,这表明续订是在上一个过期日期后 2 分钟发生的(占沙盒中 5 分钟的订阅时长)。有很多这样的例子。
我的问题是我应该如何解释生产中的这种行为?它会发生吗?我是否应该表现得好像订阅已经过期,因为过期日期已经过去?或者我应该允许更多时间,因为沙盒行为与文档相矛盾。