SuperAPI AI 工具集

cometchat-calls

编程与开发

查看项目

更新于 10-15 14:51

技能介绍

用途

CometChat Calls 是添加 CometChat 语音与视频通话功能的入口技能(dispatcher)。当用户需要为 React、React Native、Angular、原生 Android、原生 iOS 或 Flutter 项目集成通话能力时,由该技能负责检测平台、选择集成模式,并路由到对应平台的 Calls SDK 技能。它不直接调用各平台的 -calls 子技能,而是先完成平台识别与前置条件判断。

主要能力

  • 平台检测:识别 reactjs、nextjs、react-router、astro、expo、react-native、angular、android、flutter、ios 等家族。
  • 集成模式判定:根据项目状态区分「叠加模式」(在已有聊天基础上增加通话)与「独立模式」(以通话为核心产品)。
  • 凭据校验:复用 Chat SDK 凭据,若已存在则跳过配置。
  • 通话模式选择:区分 Ringing(1:1 或小群组呼叫,对方设备响铃)与 Session(会议/会议室,通过 ID 或链接加入,无响铃)。
  • 触发位置与通话记录位置收集:如用户资料页通话按钮、/calls 路由、聊天界面内嵌、浮动组件,或会议链接路由、频道绑定 huddle、等候室路由等。
  • 移动端前置条件检测:检查 Android 的 FCM、Service 注册、ConnectionService、前台服务类型;iOS 的 CallKit、PushKit、后台模式与权限声明;React Native 的 react-native-callkeep、Firebase Messaging、VoIP 推送;Flutter 的 flutter_callkit_incoming、firebase_messaging 及原生清单配置。
  • 计划展示与批准:在写入前列出将安装的包、将创建/修改/保留的文件、触发位置与通话记录位置,以及移动端需添加的 VoIP 推送产物。

使用方式

该技能通过对话式流程工作:检测、收集、规划、编写、验证。若从顶层 cometchat dispatcher 进入,框架与凭据已保存在 .cometchat/config.json,可运行 npx @cometchat/skills-cli config show --json 读取;若直接调用,则运行 npx @cometchat/skills-cli detect --json 进行检测。

官方文档:https://www.cometchat.com/docs/calls/javascript/overview

文档 MCP:claude mcp add --transport http cometchat-docs https://www.cometchat.com/docs/mcp(也可直接访问该 URL 而不使用 MCP)。

适用场景

  • 在已有聊天集成上叠加通话功能(叠加模式)。
  • 构建以通话为核心的应用(独立模式),如 1:1 通话、群组通话、会议、网络研讨会、团队 huddle、远程医疗、客服等。
  • 需要跨 Web、移动端与 Flutter 的统一通话集成入口。

限制与注意事项

  • 群组通话不使用 Ringing 通道:kit 的 <CometChatCallButtons group={g}> 通过 CometChat.sendCustomMessage 发送 type 为 "meeting" 的自定义消息,而非 CometChat.initiateCall;CallListener.onIncomingCallReceived 仅对 1:1 用户通话触发。群组通话需额外加载 references/group-calls.md。
  • Android V6 虽已 GA(2026-05-25),但开箱即用存在问题,需要 5 项变通方案(W1–W5),包括显式添加 peer 依赖及不使用 CometChatCallButtons。
  • Flutter V6 需要显式配置 MaterialApp(navigatorKey: CallNavigationContext.navigatorKey)。
  • iOS 没有 CometChatCalls.login(),认证按会话通过 generateToken 完成。
  • 移动端独立模式下 VoIP 推送为必需项,否则错过的通话不会响铃。
  • 所有符号在使用前应针对已安装的包或源码进行验证。
  • 具体收费、价格、平台支持细节等资料未提供。