【发布时间】:2017-06-14 20:26:04
【问题描述】:
我想为我的应用实现每月订阅,但我不知道哪种方法是正确的。
这是我的结构:
groups
-groupId
- premium:true/false
- owner: userId
这应该是流程:
用户可以购买 1 个月的订阅,这将使他选择的 groupId/premium = true。
1 个月+宽限期后,如果用户还没有支付订阅费用,groupId/premium 应更改为 false。
起初我以为我可以在 android 设备上检查他的订阅是否处于活动状态,或者如果它没有,并相应地更新数据。但是如果用户从不打开他的应用程序会发生什么?然后我无法检查,并且他的组在他打开应用程序之前一直保持高级状态?我不能这样,因为有其他用户与该组相关联,然后他们将获得免费订阅。
所以我是否必须通过在 appengine 服务器上运行的每日 cron 作业来执行此操作,该作业每天都会检查哪些订阅达到了结束时间,然后检查相关用户是否已为此付费,并更新相应的数据库?
这意味着像这样向数据库中添加更多节点。
- groupSubscriptions
- groupId
- ownerToken: token
- expireDate: timestamp
然后根据expireDate查询,获取ownerToken,查看是否支付了IAP。
这是解决我的问题的正确方法吗?这是我想太多了吗?没有服务器可以做吗?
【问题讨论】:
标签: android firebase firebase-realtime-database