Discourse 移动推送——用于移动应用的 FCM 推送通知

我开发了一个新的 Discourse 插件,用于通过 Firebase Cloud Messaging (FCM) 向原生 Android/iOS 应用发送推送通知。

为什么?

现有的 discourse-fcm-notifications 插件提供了类似的功能,但它已不再与当前版本的 Discourse 保持同步。在当前的 Discourse 安装环境中安装该插件会产生警告。

我在其他测试人员的设备上尝试运行旧插件时遇到了困难。与其尝试更新它,我决定从头开始构建一个新的实现。

功能

  • 面向原生移动应用的 FCM 推送通知
  • 每个用户支持多台设备
  • 通过 API 进行设备注册和移除
  • 深度链接(Deep links)至相关的 Discourse 主题、帖子或聊天
  • 自动移除无效/过期的 FCM 令牌
  • 针对 Firebase 临时故障的重试处理
  • 可选的隐私模式,使用通用的通知内容
  • 管理员诊断和测试通知工具
  • 利用 Discourse 现有的通知系统和用户偏好设置

该插件旨在提供 Discourse 与原生移动应用之间的传输层;Discourse 仍然负责决定用户接收哪些通知。

AI 辅助开发

该插件的很大一部分是在 AI 的辅助下开发的。我在这里发布它,部分原因是希望获得经验丰富的 Discourse 开发者的反馈,并找出任何需要更改或改进的地方。

它采用 MIT 许可证。

欢迎反馈、错误报告和建议。

1 个赞

我很乐意分享我在为我的 Discourse 论坛开发的 Flutter 封装应用中是如何实现这一功能的。我目前只完成了 Android 端,还没有做 Apple 端。