SuperAPI AI 工具集

cometchat-native-calls

前端与建站

查看项目

更新于 10-16 08:34

技能介绍

用途:为 React Native 应用(Expo 托管与裸 CLI)提供生产级语音和视频通话能力,由 cometchat-calls 在框架为 expo 或 react-native 时加载。有两种模式:独立模式(以通话为产品,Chat SDK 负责信令、Calls SDK 负责 WebRTC,需自建 RN 界面且必须使用 VoIP 推送);附加模式(在已有 CometChat React Native UI Kit 集成上叠加通话,内联添加通话按钮并在应用根挂载 CometChatIncomingCall)。建议先阅读 cometchat-calls、cometchat-native-core,再按框架选择 cometchat-native-expo-patterns 或 cometchat-native-bare-patterns。

主要能力:覆盖双 SDK 合约(@cometchat/chat-sdk-react-native 发起呼叫,@cometchat/calls-sdk-react-native 执行 WebRTC 会话)、Calls SDK 登录、VoIP 推送(react-native-callkeep、react-native-voip-push-notification、@react-native-firebase/messaging)、Android 14+ 前台服务权限、令牌生成、挂断清理与来电/去电/通话中三类界面的监听接线。

使用方式:附加模式无需调用 CometChatCalls.login,UI Kit 会在 CometChatUIKit.login 后自动串联 Calls SDK 鉴权;仅独立/原生 Calls SDK 路径需在 CometChat.login 之后调用 await CometChatCalls.login(uid, AUTH_KEY),否则首次调用 API 会报 auth token 为 null。安装命令为 npm install @cometchat/chat-sdk-react-native@^4 @cometchat/calls-sdk-react-native@^5,并安装 react-native-webrtc 等对等依赖。iOS 需 USE_FRAMEWORKS=static pod install,且 Apple Silicon 上需移除 EXCLUDED_ARCHS arm64 i386。三类通话界面不会自动互相挂载,需在根导航或 App.tsx 中注册 CometChat.addCallListener 与 CometChatUIEventHandler.addCallListener 并按状态渲染。

限制:RN 无命令式 joinSession,通话界面由声明式 Component 渲染;Calls SDK 不跨启动持久化登录;不要给 CometChatIncomingCall 传 onAccept,以免短路套件内部接受流程;通话中掉线事件需单独监听 Calls SDK 会话事件。生产令牌应由服务端签发。具体收费、价格与更多平台细节资料暂未提供。