SuperAPI AI 工具集

cometchat-react-push

前端与建站

查看项目

更新于 10-15 20:14

技能介绍

用途:为 CometChat 聊天提供 Web 推送,当用户标签页后台或关闭时收到新消息通知。适用于 Vite、Next.js、React Router、Astro 中的 CometChat React UI Kit v6。

主要能力与推荐路径:Web 端有 CometChat 原生推送。JS Chat SDK 提供注册 API:CometChatNotifications.registerPushToken(token, PushPlatforms.FCM_WEB)。配合在 CometChat 后台配置的 Firebase Cloud Messaging(FCM)提供商,CometChat 自有后端会在每条新消息时投递推送,无需自建推送服务器、web-push 库、自有 VAPID 服务器或基础场景的消息 webhook。这是推荐路径。

使用方式(推荐):安装 firebase 并初始化;在 public/firebase-messaging-sw.js 放置 Service Worker(必须位于源根路径,Next.js 不能放在 app/ 下);用 getMessaging/getToken 获取 FCM web token(vapidKey 为 Firebase Web Push 证书密钥),登录成功后再调用 registerPushToken 交给 CometChat;登出前先调用 CometChatNotifications.unregisterPushToken()。权限请求必须在用户手势(点击)中触发,不能在页面加载时调用。

备选路径:自托管 Web Push(自有 VAPID 密钥 + 推送服务器 + CometChat message-sent webhook),仅当无法或不使用 Firebase 时采用,需自行存储订阅、接收 webhook 并发送推送。

限制:iOS 16.4+ 仅在安装为主屏幕 PWA 时可用 FCM Web 推送;前台消息不触发 Service Worker,需自行处理;如项目已有 Firebase 或 Service Worker,需先检测共存并合并,避免覆盖。注意聊天推送与通话 Web Push 不同,许多应用需同时使用。相关前置技能:cometchat-core、各框架 patterns、calls 的 Web Push 说明、production 的服务器签发 token。