3

根据苹果的文档...

在订阅到期前的 24 小时内,App Store 开始尝试自动续订。App Store 会在一段时间内多次尝试自动续订订阅,但如果尝试失败次数过多,最终会停止。

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

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

例如,订阅的到期日期为“2017-02-08T15:32:41Z”,所以我希望苹果会在此之前显示续订。但是它没有,所以我标记为过期。在脚本的下一次运行中,会出现一个过期日期为“2017-02-08T15:39:55Z”的续订,这比上一个过期日期晚了 7 分钟以上,这表明续订是在上一个过期日期后 2 分钟发生的(占沙盒中 5 分钟的订阅时长)。有很多这样的例子。

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

4

1 回答 1

0

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

续订速度加快,自动续订订阅每天最多续订六次。这使您可以测试您的应用如何处理订阅续订、订阅失效以及包含差距的订阅历史记录。

由于加快了到期和续订率,订阅可能会在系统开始尝试续订订阅之前到期,从而在订阅期间留下一小段时间。由于各种原因,在生产中也可能出现此类失误——确保您的应用程序正确处理它们。

于 2017-02-10T12:07:08.470 回答