我开发了一个新的 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 许可证。
欢迎反馈、错误报告和建议。