也许我只是没有找到正确的位置,但我对包含更新订阅的跨平台应用程序缺乏文档感到惊讶。
我有一个跨平台(iOS和Android)Ionic应用程序,后端有一个Rails API。我使用https://github.com/AlexDisler/cordova-plugin-inapppurchase作为iOS / Google商店SDK的包装。
我的问题围绕续订续订:
根据我收集的内容,建议我每天都有一份工作,检查我的每个订阅的到期日期。如果订阅即将到期,我可以将存储在我的数据库中的收据发送给Google / Apple,并检查订阅是否已续订。如果有,我更新到期日期并保持订阅有效。如果订阅尚未续订,我将订阅标记为无效。
现在,如果用户续订订阅会怎样?我如何知道订阅已续订?我什么时候检查订阅续订?好像我的选择是:
每天检查每个已过期的订阅以进行续订。问题:1)随着用户数量的增长,订阅过期的用户数量也会增加。最终,这将导致每晚检查许多过期的订阅。 2)用户在通过app / play商店续订订阅和每晚订阅检查作业之间将无法访问仅限订阅的内容。
每次订阅过期的用户登录应用时,请检查他们是否续订了订阅。问题:1)我的应用程序使用令牌身份验证。因此,用户无需每次使用登录。因此,如果用户续订订阅,但他们的令牌仍然有效,则应用无法知道他们的订阅是最新的。
还有其他选择吗?我在这里缺少什么?
答案 0 :(得分:0)
我建议使用两种选项的组合。
当用户打开您的应用时,您应该向后端发送一个单独的请求,该请求会在收到续订时检查收据,并缓存过期日期和检查时间。然后我会在夜间运行另一个不检查所有过期收据的工作,但如果在一定时间内没有检查过期日期缓存,则清除过期日期缓存。然后,下次用户打开应用程序时,缓存将为空并且将被提取。
我正在努力为RevenueCat添加Android订阅,但它已经准备好几个月了。