我想为我的应用实施每月订阅,但我不知道哪种方法是正确的。每月订阅Firebase
这是我的结构:
groups
-groupId
- premium:true/false
- owner: userId
这应该是流程:
用户可以购买订阅1个月,这将让他选择的groupId /溢价=真。
经过一个月+宽限期后,如果用户尚未支付其认购费用,那么groupId/premium应更改为false。
起初,我以为我可以在Android设备上只检查,如果他订阅是活动的,或者如果它不是,并相应地更新数据。但接下来会发生什么如果用户从不打开他的应用程序?那么我无法检查,他的团队保持优质,直到他打开应用程序?我不能这样做,因为有其他用户与该组关联,然后他们将获得免费订阅。
因此,我必须在每天执行一个在appengine服务器上运行的cron作业来做到这一点,每天都会检查哪些订阅达到了他们的结束时间,然后检查相关用户是否为此付费,并更新相应的数据库?
这意味着像这样将更多节点添加到数据库中。
- groupSubscriptions
- groupId
- ownerToken: token
- expireDate: timestamp
然后根据查询EXPIREDATE它,抓住ownerToken,并检查他们是否已经支付了IAP。
这是解决我的问题的正确方法吗?我是否在说这个?没有服务器可以吗?
这听起来像是一个很好的解决方案,可以在订阅到期后保护高级选项不被使用。但是如果在Firebase数据库过期后对其进行更改,那么该怎么办?因为否则,集团国家仍然会说它是高级模式,即使它不是,然后用户可能会感到困惑。 – thechosenone