如何使用 Firebase JobDispatcher

Posted

技术标签:

【中文标题】如何使用 Firebase JobDispatcher【英文标题】:How to use FirebaseJobDispatcher 【发布时间】:2016-11-15 12:07:33 【问题描述】:

我正在尝试通过关注 this 来使用 FirebaseJobDispatcher

但我的问题是,如何为调度程序对象设置时间间隔,如 GCMNetworkManager (setPeriod)。 或者请解释 FirebaseJobDispatcher 的工作原理。

【问题讨论】:

【参考方案1】:

一天前才开始使用 Dispatcher,所以我可能错了。我认为对于你想做的事情,你必须将你的工作设置为recurring并选择一个合适的trigger

final Job.Builder builder = dispatcher.newJobBuilder()
                .setTag("myJob")
                .setService(myJobService.class)
                .setRecurring(true)
                .setTrigger(Trigger.executionWindow(59, 61));

会给你一个大约每分钟重复一次的工作。

如何开始工作并设置 Dispatcher 我建议您查看 FirebaseJobDispatcher git 存储库(您已经链接)中可用的 testapp。 尤其是 JobFormActivity 和 DemoJobService 类。

【讨论】:

【参考方案2】:

这将在大约 10 分钟内触发。 注意 - 在 Marshmallow 之后的打盹模式下,执行时间可能会有所不同,具体取决于可用的窗口。

  Job myJob = mDispatcher.newJobBuilder()
                .setService(MyJobService.class)
                .setTag(JOB_TAG)
                .setRecurring(true)
                .setTrigger(Trigger.executionWindow(600, 600))
                .setLifetime(Lifetime.FOREVER)
                .setReplaceCurrent(false)
                .setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL)
                .build();

    mDispatcher.schedule(myJob);

【讨论】:

以上是关于如何使用 Firebase JobDispatcher的主要内容,如果未能解决你的问题,请参考以下文章

如何使用firebase_admin从python中的firebase存储下载文件

如何在不使用 Firebase 身份验证的情况下保护 Firebase 存储? (下一个)

如何使用 Firebase 实时数据库?

使用 firebase 模拟器时如何共享指向 firebase 开发环境的链接?

如何使用新的 Firebase (2016) 实现无限滚动?

如何使用 Firebase 数据库和 Firebase 通知为聊天应用构建通知系统