首页 > 解决方案 > 如何动态发送 FCM 推送通知?

问题描述

由于 firebase FCM 会立即将推送通知发送到 Android/IOS 设备。是否可以根据用户在 Google 日历提醒中设置事件提醒时间的方式来安排推送通知?

例如,用户 A 将事件 A 设置为在 10 分钟前提醒。用户 B 设置事件 B 1 分钟前提醒。

我拥有的一种解决方案是每分钟运行一次 Cron Job 并触发推送通知,但如果有更多用户,我认为这不是有效的。有没有办法在 Firebase 中安排推送通知?

标签: javascriptfirebasefirebase-cloud-messaging

解决方案


您可以使用 Firebase 云消息传递中的计划功能来安排您的 FCM 推送通知

参考:https ://firebase.google.com/docs/functions/schedule-functions?hl=en

您可以使用计划功能:

functions.pubsub.schedule().onRun()

这将在 cloudcheduler 中添加主题,您可以定义它必须运行的频率。

但问题是,firebase 仅允许您在按需付费计划(Blaze 计划)中使用它

就我而言,我做了以下事情:

  1. 通过插入 device_token 和何时发送 mysql 数据库表来管理队列
  2. 编写了一个守护进程来查找 mysql 条目并在所需的持续时间内运行 FCM 推送通知调用。

推荐阅读