首页 > 解决方案 > 如何在应用程序生命周期内处理自动续订订阅结束

问题描述

例如,如果用户正在运行每周自动续订订阅,该订阅在 4:00 到期(然后它将续订),并且用户在 3:55 到 4:10 之间使用应用程序,您打算如何处理它?

我注意到 paymentQueue(_:updatedTransactions:) 在应用程序生命周期内不会触发(也许我错了?),所以我无法获得通知我用户仍然订阅的新续订。

在这种情况下,我是否需要调用恢复购买来强制检测续订,或者我是否应该考虑用户仍在订阅,直到应用程序被终止(因此在下次启动时,将触发 paymentQueue)?或者也许是第三种解决方案?

标签: iosin-app-purchasestorekit

解决方案


得到 Apple StoreKit 工程师的官方答复:

Apple 认为这是一个边缘案例,并建议您不要实时处理订阅到期(如果可能)。

这意味着,如果您的订阅将您的用户变成高级用户,只需在应用程序的整个生命周期内保持 Premium 标志为真(直到应用程序被用户或系统杀死)。

下次重新启动应用程序时,您可以依赖潜在的新 paymentQueue:updatedTransaction。


推荐阅读