SuperAPI AI 工具集

fcm-push-notifications

编程与开发

查看项目

更新于 10-15 20:33

技能介绍

用途:为 HADA 推送通知系统提供 FCM 完整集成方案,覆盖 NestJS 后端(firebase-admin)与 Expo 移动客户端(Expo Notifications)。

主要能力与参考文档:backend-fcm.md 覆盖 Firebase Admin SDK 在 NestJS 中的初始化、发送与错误处理;token-management.md 覆盖 FCM token 的注册、存储与清理生命周期;expo-client.md 覆盖 Expo 权限、获取原生 token 与监听器;deep-links.md 覆盖构建和解析通知中的 deep link。

关键规则:Firebase Admin 只初始化一次(if (!admin.apps.length) 再 initializeApp 并传入 credential.cert(serviceAccount));多 token 使用 sendEachForMulticast 一次发送;每次发送后通过 response.responses 遍历识别并清理无效 token(isInvalidTokenError 判断 code 后调用 removeInvalidTokens);payload 的 data 字段只接受 Record<string, string>,所有值需转为字符串,例如 data: { profileId: uuid, deepLink: 'hada://lists/uuid' };推送通知仅在实体设备上可用。

使用方式:根据任务选择对应参考文档——从 NestJS 发送通知查 backend-fcm.md,管理 token 查 token-management.md,配置 Expo 接收查 expo-client.md,创建打开特定页面的 deep link 查 deep-links.md。官方文档包括 Firebase Admin SDK Node.js 设置、FCM Send Messages、Multicast 与 Admin 错误码,以及 Expo Notifications、Android FCM 凭据和 iOS APNs 凭据页面。

限制:资料未提供具体收费、性能数据或完整代码示例;推送功能无法在模拟器/仿真器运行。