java - 云中的 Firebase JobScheduling |如何使用服务器 SDK 进行作业调度

标签 java android firebase jobs gcm-network-manager

我见过很多用于作业调度的 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/

相关文章:

java - 空白的最终字段 INITIAL 可能尚未初始化

java - J8583 如何将 TPDU 设置为二进制

android - 在 4.4.2 上完全禁用/隐藏状态栏

android - 您能否在Firestore中的一个查询中将多个whereEqualTo操作链接在一起

swift - 在 Firebase 调用之外访问数组

对于 5 位或更多数字的值,出现 java.lang.StackOverFlowError

java - 为什么我要在 Java/Spring 上使用 Scala/Lift?

android - 检测 OpenGL 对象上的触摸?

java - 如何知道选择 GridView 中的哪个 View 对象来打开上下文菜单

android - 如何处理Firebase离线模式和数据推送?