tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们
文档即时通信 IM

Flutter

聚焦模式
字号
最后更新时间: 2025-04-16 15:00:23

概述

信令接口是基于 Chat 消息提供的一套邀请流程控制的接口,可以实现多种实时场景,例如:
直播聊天室中进行上麦、下麦管理。
聊天场景中实现音视频通话功能。
教育场景中老师邀请同学们举手、发言的流程控制。

功能

信令接口支持以下功能:

单聊邀请

可以使用 invite 信令接口进行点对点呼叫,对方收到邀请通知 onReceiveNewInvitation 后可以选择接受、拒绝或等待超时。

群聊邀请

群成员可以在群内发起群呼叫邀请 inviteInGroup,被邀请的群成员会收到邀请通知 onReceiveNewInvitation 后可以选择接受、拒绝或等待超时。

取消邀请

邀请者可以在超时前且被邀请者未处理前取消邀请 cancel。被邀请者会收到取消通知 onInvitationCancelled,该邀请流程结束。


接受邀请

被邀请者收到邀请通知 onReceiveNewInvitation 后可以在超时前且邀请者取消前接受邀请 accept,邀请者会收到接受邀请通知 onInviteeAccepted,所有被邀请者处理完后(包括接受、拒绝、超时)该邀请流程结束。


拒绝邀请

被邀请者收到邀请通知 onReceiveNewInvitation后可以在超时前且邀请者取消前拒绝邀请 reject,邀请者会收到拒绝邀请通知 onInviteeRejected,所有被邀请者处理完后(包括接受、拒绝、超时)该邀请流程结束。

邀请超时

若邀请接口的超时时间大于0,且被邀请者未在超时时间之内响应则邀请超时,邀请者和被邀请者都会收到超时通知 onInvitationTimeout,所有被邀请者处理完后(包括接受、拒绝、超时)该邀请流程结束。若邀请接口的超时时间等于0,则不会有超时通知。


应用场景案例

音视频通话

在开源项目 TRTCFlutterScenesDemo 中,我们基于 TRTC 组件 并对其稍作修改提供了一个适合聊天场景的 1v1 和多人音视频通话的方案,您可以直接基于我们提供的 Demo 进行修改适配。我们以 1v1 视频通话为例介绍下信令接口跟 TRTC SDK 的结合使用。
1v1 视频通话的流程:
1. 邀请者根据业务层生成的 roomID 进入该 TRTC 房间,同时调用信令邀请接口 invite 发起音视频通话请求,并把 roomID 放到邀请接口的自定义字段中。
2. 被邀请者收到信令邀请通知 onReceiveNewInvitation,并通过自定义数据拿到 roomID,界面开始响铃。
3. 被邀请者处理邀请通知:
接受邀请需调用信令 accept 接口,并根据 roomID 进入到 TRTC 房间,并同时调用 openCamera() 函数打开自己本地的摄像头,双方收到 TRTC SDK 的 onRemoteUserEnterRoom 回调后记录本次通话的开始时间。
拒绝邀请需调用信令 reject 接口结束本次通话。
如果被邀请者正在跟其他人通话,则调用信令 reject 接口拒绝本次邀请,并在自定义数据中告诉对方是由于本地线路忙而拒绝。
4. 接听并当双方的音视频通道建立完成后,通话的双方都会接收到 TRTC SDK 的 onUserVideoAvailable 的事件通知,表示对方的视频画面已经拿到。此时双方用户均可以调用 TRTC SDK 接口 startRemoteView 展示远端的视频画面。远端的声音默认是自动播放的。
5. 通话结束即某一方挂断电话,该用户退出 TRTC 房间。对方收到 TRTC SDK 的 onRemoteUserLeaveRoom 回调后计算通话总时长并再次发起一次邀请,此邀请的自定义数据中标明是结束通话并附带通话时长,方便 UI 界面做展示。
时序图


教育场景中老师邀请学生举手发言

该场景为老师先让同学们举手,再从举手的同学中选一个同学进行发言。详细流程如下:
1. 老师调用 inviteInGroup 接口邀请同学们举手,自定义 data 中填入“举手操作”,同学们收到 onReceiveNewInvitation 回调。
2. 同学们根据 onReceiveNewInvitation 中的 inviteeListdata 字段判断被邀请者里有自己且是举手操作,那么调用 accept 接口举手。
3. 如果有学生举手,所有人都可以收到 onInviteeAccepted 回调,判断 data 中的字段为“举手操作”,展示举手学生列表。
4. 老师从举手成员列表中邀请某个同学进行发言,调用 inviteInGroup 接口,此时自定义 data 中填入“发言操作”,学生们都收到 onReceiveNewInvitation 回调。
5. 学生根据 onReceiveNewInvitation 回调中的 inviteeListdata 字段判断被邀请者里有自己且是发言操作,则调用 accept 接口发言。
6. 如果有学生发言,所有人都可以收到 onInviteeAccepted 回调,判断 data 中的字段为“发言操作”,展示发言成员列表。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈