本文旨在帮助您理解即时通信 IM 服务所涉及的基本概念。
应用
即时通信 IM 通过应用的形式来管理不同的业务或项目。您可以在 IM 控制台 给不同的业务或项目分别创建不同的应用,从而实现业务或项目数据的隔离。每个腾讯云账号最多可以创建 1000 个 IM 应用。
SDKAppID
登录鉴权
即时通信 IM 的“登录鉴权”特指您的 App 用户与即时通信 IM 服务之间建立安全连接的身份验证过程。您的 App 用户通过其唯一 UserID 及由您业务服务器生成的临时安全凭证 UserSig 来验证身份,从而使用 IM 服务。此流程区别于您 App 自身的账号注册登录体系,是您的 App 用户接入腾讯云 IM 的必要步骤。详细信息请参考 登录鉴权。
UserID
UserID 是用户登录即时通信 IM 时使用的用户名,即您 App 里的用户 ID。
例如,App 里有一个用户,该用户的 ID 是 27149 ,那么您可以用 27149 作为登录即时通信 IM 的 UserID。
UserSig
App 登录流程
推荐的 App 登录即时通信 IM 流程如下:

注意:
即时通信 IM 后台完全信赖 UserSig,为避免数据和业务受影响,请务必确保私钥的安全。
即时通信 IM 后台 SDK 默认接口生成的 UserSig 有效期为180天,可以使用含有效期参数的接口自行设定有效期,开发者需要在 UserSig 过期前到开发者后台获取新的 UserSig。
App 管理员
即时通信 IM 的部分服务需要管理员权限,例如调用 REST API 接口、解散群以及全员推送等。App 管理员是对 App 具有最高管理权限的角色,与普通账号相比,其区别如下:
读取权限更高。例如:获取 App 内部的所有群组、获取任意群组的任意资料。
操作权限更高。例如:给任意用户发消息、在任意群组中增删成员。
单聊
即一对一聊天,仅限于两位用户之间进行的私人对话。
群组
群组类型
根据常见使用场景,默认配置了以下群组类型:
群组类型 | 适用场景 |
好友工作群(Work) | 类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。 |
陌生人社交群(Public) | 类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。 |
临时会议群(Meeting) | 创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。 |
直播群(AVChatRoom) | 创建后可以随意进出,没有群成员数量上限,但不支持群成员资料以及历史消息存储;适合与直播产品结合,用于弹幕聊天场景。 |
社群(Community) |
群组成员
群组中各成员的角色及其权限如下表:
成员角色 | 描述 | 管理权限 |
普通成员 | 不具备管理群组权限的成员。 | 好友工作群(Work)中,普通成员具备修改群组资料的权限。 |
管理员 | 由群主任命的、协助群主来管理群组的成员,拥有一定的管理权限。 | 修改群组基本资料。 将普通成员踢出群。 将普通成员禁言(即禁止其在一段时间内发言)。 审批其他用户的入群申请。 好友工作群(Work)默认不支持设置管理员。 |
群主 | 群组的创建者,在群组中拥有最高的管理权限。 | 群主具备管理员所拥有的各项权限之外,还拥有如下权限: 任命/取消管理员。 将管理员踢出群组。 将管理员禁言。 解散群组。 转让群组。 |
App 管理员 | 具备管理 App 中所有群组权限的一种特殊身份,能力超过群主。 | App 管理员可以不是群组中的成员,但是拥有群主具备的所有权限。 |
会话
会话列表
消息
即时通信 IM 提供完善的单聊/群组消息解决方案:支持文本、图片、语音等多种消息类型的发送和接收,提供消息记录查询、多终端同步、离线推送等基础能力,同时支持消息权限控制和发送者资料携带等扩展功能。
消息类型
单聊/群组消息类型如下表:
功能类型 | 功能描述 |
文本消息 | 消息内容是普通文本。 |
表情消息 | 表情消息为开发者自定义。 |
地理位置消息 | 消息内容为地理位置标题、经度、纬度信息。 |
图片消息 | 消息内容为图片的 URL 地址、尺寸、图片大小等信息,最大支持大小为 28 MB的图片。 |
语音消息 | 消息内容为语音文件的 URL 地址、大小、时长等信息,最大支持大小为 28 MB的语音文件。 |
文件消息 | 消息内容为文件的 URL 地址、大小、格式等信息,格式不限,最大支持大小为 100 MB的文件。 |
短视频消息 | 消息内容为短视频文件的 URL 地址、时长、大小、格式等信息,最大支持大小为 100 MB的短视频文件。 |
自定义消息 | 开发者自定义的消息类型,例如红包消息、石头剪刀布等形式的消息。 |
合并消息 | 将多条不同类型的消息(例如文本、图片、语音等)合并为一条消息进行发送或转发。 |
消息回调
回调,即即时通信 IM 后台会在某一事件发生之前或者之后,向 App 的后台服务器发送请求,App 后台可以据此进行必要的数据同步,或者干预事件的后续处理流程。即时通信 IM 目前支持的回调请参见 回调命令列表。消息回调的详细信息请参见 第三方回调。
消息存储
在线状态管理
每个用户的状态类型有以下三种:
前台运行状态(Online):指客户端用户和即时通信 IM 服务端保持顺畅的 TCP 网络连接,客户端可以发消息给即时通信 IM 服务端,也可以收到来自即时通信 IM 服务端推送的消息。
后台运行状态(PushOnline):指客户端用户和即时通信 IM 服务端的 TCP 长连接断开。此时可收到消息的离线推送。
未登录状态(Offline):指用户没有输入账号和密码登录前的状态,此时无法收到消息的在线推送,也无法收到消息的离线推送。
推送服务(Push)
推送服务(Push)是腾讯云 IM 推出的一站式 App 消息推送解决方案。全面覆盖 Android & iOS、微信小程序多端框架、uni-app 等多通道多平台、最快 3 分钟即可实现一键式集成,实现毫秒级触达。以普通消息、全员/标签、单发的推送方式和消息全链路统计分析能力,保障推送精准高效、服务稳定安全,助您轻松提升用户留存和互动活跃度。详细信息请参见 推送服务(Push)。
TUIKit 组件相关
TUIKit 组件是基于腾讯云 IM SDK 的一款 UI 组件库,它提供了一些通用的 UI 组件,包含会话、聊天、搜索、关系链、群组、音视频通话等功能。基于这些 UI 组件您可以像搭积木一样快速搭建起自己的业务逻辑。详细信息请参见 TUIKit 组件介绍。子组件
TUIKit 组件包含以下子组件,可按需单独或组合集成:
TUIChat,支持消息界面的展示、发送消息的 UI 组件。
TUIContact,支持联系人的展示、权限设置的 UI 组件。
TUIConversation,支持会话列表的展示和编辑的 UI 组件。
TUISearch,支持本地搜索的 UI 组件,可搜索联系人、群聊、聊天记录。
TIMPush,支持离线推送消息展示的组件。
TUICallKit,支持语音、视频通话的 UI 组件。
TUIRoomKit,支持多人音视频的 UI 组件。
TUILiveKit,支持互动连麦、送礼、房间管理等功能的 UI 组件。