javascript - 如何动态发送 FCM 推送通知?
问题描述
由于 firebase FCM 会立即将推送通知发送到 Android/IOS 设备。是否可以根据用户在 Google 日历提醒中设置事件提醒时间的方式来安排推送通知?
例如,用户 A 将事件 A 设置为在 10 分钟前提醒。用户 B 设置事件 B 1 分钟前提醒。
我拥有的一种解决方案是每分钟运行一次 Cron Job 并触发推送通知,但如果有更多用户,我认为这不是有效的。有没有办法在 Firebase 中安排推送通知?
解决方案
您可以使用 Firebase 云消息传递中的计划功能来安排您的 FCM 推送通知
参考:https ://firebase.google.com/docs/functions/schedule-functions?hl=en
您可以使用计划功能:
functions.pubsub.schedule().onRun()
这将在 cloudcheduler 中添加主题,您可以定义它必须运行的频率。
但问题是,firebase 仅允许您在按需付费计划(Blaze 计划)中使用它
就我而言,我做了以下事情:
- 通过插入 device_token 和何时发送 mysql 数据库表来管理队列
- 编写了一个守护进程来查找 mysql 条目并在所需的持续时间内运行 FCM 推送通知调用。
推荐阅读
- algorithm - 为什么“滑动窗口最大值”问题的双端队列解决方案是 O(n) 而不是 O(nk)?
- python - Python:意外警报PresentException
- c++ - 试图重载二叉搜索树赋值运算符
- php - 如何使用 Laravel 和 Soap 1.1 连接 Web 服务
- azure - 致命错误 Visual Studio 2017 - Azure Functions
- sql-server - 运行存储在表中的脚本
- php - 点击提交时,我的 php 没有更新 html 文件
- android - 防止在 Android 上覆盖视频记录规范
- python - Google colab 中的时间数据存储在哪里?
- amazon-web-services - 如何设置 ECS 服务最小和最大任务