我见过很多用于作业调度的 API,如果我可以提一下的话:
报警管理器
作业调度程序
JobSchedulerCompat
GCMNetworkManager
我想做的是,用户设置一个日期和一个广告系列,并将其保存在 Firebase 中,当该日期到来时,创建的对象将被删除。我在 Parse 中看到过类似的情况,但您可能知道,它正在关闭,而且我仍然将数据存储在 Firebase 中。
但是,AlarmManager
肯定不会在云中执行该任务(该服务不在设备上运行,但是在云端。)
JobScheduler
不适用于预 Lollipop 。
JobSchedulerCompat
已弃用“不能保证这不会爆炸您的设备或耗尽您的电池”,我认为不会无论如何都在云中运行。
而且我不确定 GCMNetworkManager
。它是在云端运行还是在设备上运行? 举个例子:如果每个使用我的应用的用户都关闭了设备,任务还能完成吗?
长问短:GCMNetworkManager
是否在云端运行?如果没有,我还有什么选择?
编辑: @qbix 的回答给了我一个提示,但我仍然无法理解该链接中的任何内容。如果有人回答我的问题并举例说明,他将获得赏金。这包括@qbix。
最佳答案
不,GCMNetworkManager
不在云端运行。它在设备上运行,就像您列出的其他调度程序一样。
如果我正确理解您的要求,您应该查看Firebase Server SDK 。您将创建一个具有有限权限的服务器任务来访问数据库的相应部分。它将定期为所有用户执行所需的数据库维护。
关于java - 云中的 Firebase JobScheduling |如何使用服务器 SDK 进行作业调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796668/