即时通讯术语表
控制台
控制台使您能够创建新应用程序和管理现有应用程序,以使用融云提供的即时通讯、推送通知、实时音视频服务等。从控制台可获取您的应用程序在生产环境或开发环境的凭据(融云应用的 App Key、App Secret)。
App Key / Secret
App Key / Secret 相当于您的应用在融云的帐号和密码。其中 App Key 是融云 SDK 连接服务器所必需的标识。注意,在控制台创建的应用具有生产、开发 两个环境,每一个环境对应一套 App Key / Secret。
开发环境
方便开发者进行集成开发和测试的环境,注册用户上限为 100 个,与生产环境功能相同,两者间数据隔离,避免开发环境数据和线上生产环境数据互相冲突,提供独立的 App Key / Secret。融云后台创建应用后默认为开发环境。
生产环境
App 上线之后真正运营的商业环境。与开发环境间数据隔离,避免开发环境数据和线上生产环境数据互相冲突。提供独立的 App Key / Secret ,在正式上线前请务必由开发环境切换到生产环境。
Target ID
Target ID 用于标识会话,称为目标 ID 或会话 ID,一般用 targetId
参数表示。对应的消息发送方 ID 常用 senderUserId
表示。
- 针对群组会话、聊天室会话、超级群会话,融云直接使用群组 ID、聊天室 ID、超级群 ID 标识会话。因此,对于参与任意一个群聊会话(或聊天室会话、超级群会话)的所有用户,Target ID 是一致的。
- 针对单聊会话,融云使用单聊对端的用户 ID 作为标识本端单聊会话的 Target ID,因此,针对参与同一个单聊会话的两位用户,会话的 Target ID 是不一致的,针对本端登录用户,本端单聊会话的 Target ID 始终是单聊对端的用户 ID。因为单聊会话 Target ID 在会话参与者客户端不一致,在客户端通过「插入消息」接口在单聊会话中插入消息时可能容易发生误解。无论是插入本人发送还是本人接收的消息,请谨记
targetId
字段需传入单聊会话的 Target ID(单聊会话对端的用户 ID)。
示例:用户 1(user1
) 用户 2(user2
)之间互发消息,产生了单聊会话。同时,两位用户共同参与的群聊、聊天室、超级群会话。
用户 1,targetId
为以下值:
会话类型 | targetId |
---|---|
单聊 | user2 |
群聊/聊天室/超级群 | 群组 ID/聊天室 ID/超级群 ID |
用户 2,targetId
为以下值:
会话类型 | targetId |
---|---|
单聊 | user1 |
群聊/聊天室/超级群 | 群组 ID/聊天室 ID/超级群 ID |
Token
Token 即用户令牌,相当于 App 上当前用户连接融云的身份凭证。每个用户连接服务器都需要一个 Token,用户更换即需要更换 Token。每次初始化连接服务器时,都需要向服务器提交 Token。
单聊
指两个用户一对一进行聊天,两个用户间可以是好友也可以是陌生人,融云不对用户的关系进行维护管理,会话关系由融云负责建立并保持,当 App 在后台运行或者 App 进程 被杀死后,有新消息时会收到推送通知。
群组
群组指两个以上用户一起进行聊天,群组成员信息由 App 提供并进行维系,融云只负责将消息传达给群组中的所有用户, App 在后台运行或者 App 进程被杀死后可以收到推送通知。每个群最大人数上限为 3000 人,App 内的群组数量没有限制。
超级群
超级群支持创建独立的频道(channel),超级群的消息数据(会话、消息、未读数)和群组成员支持按频道聚合。超级群提供了一种新的群组业务形态(请注意与普通群组或聊天室区分),不设置用户人数上限,允许用户在超级社群中建立社交关系、在海量信息中聚焦自己感兴趣的内容,帮助开发者打造高用户黏性的群体。
超级群业务针对在不同的平台与场景的需求,优化了消息请求、存储、分发、推送的逻辑,并且为客户端留下充裕的可定制空间。超级群组成员信息由 App 提供并进行维系。每个用户最多可加入 100 个超级群,App 内的超级群数量没有限制。
聊天室
聊天室成员不设用户上限,海量消息并发即时到达,用户退出聊天界面后即视为离开聊天室,不会再接收到任何聊天室中消息,没有推送通知功能。会话关系由融云负责建立并保持连接,通过 SDK 相关接口,可以让用户加入或者退出聊天室。
系统会话
系统会话是一种特定的会话类型,运营人员使用设定好的系统帐号(非用户帐号,用户不可登录)通过服务端 API 向应用中指定用户或全部用户发送的系统消息、广播消息都会存储在系统会话中,系统会话主要为应用运营使用,终端在收到系统会话的消息后,只能查看不能进行回复。
会话频道
在一个超级群会话中下可创建独立的会话频道,同一超级群的成员可随意在不同群频道中发送消息,但不同频道间的消息相互隔离。单聊、群聊、超级群会话类型支持会话频道功能。
会话列表
指各种会话依照顺序先后排列的列表界面,其中列表中的每一个列表项称之为一条会话。排列的先后顺序会依赖于置顶、会话中最后一条消息的时间等因素,聊天室类型的会话不会进入到会话列表中。
聊天界面
指发送消息的发送及具体展示界面,在界面中支持消息内容和用户基本信息显示,包括用户名称、头像,提供文本、表情、语音、小视频、音视频通话等消息发送及自定义扩展输入区、输入框、消息内容展示等 功能。
推送
推送(Push)是一种技术概念,是指从服务端实时发送远程通知到客户端。
iOS 设备使用苹果的 APNs(Apple Push Notification service)推送服务、Android 设备使用谷歌 FCM(Firebase Cloud Messaging)推送服务。在国内,由于谷歌服务不能使用,因此 Android 应用必须集成第三方厂商的推送服务,目前融云支持小米、华为、荣耀、OPPO、vivo、魅族推送厂商及融云自研的内置推送服务。
广播
广播(Broadcast)是一种业务概念,是通过后台管理界面或者调用服务端接口,向 App 中的所有用户发送一条消息。当用户离线时此条消息将自动转为推送对用户进行通知。
系统消息
系统消息(System Message)是一种业务概念,是指利用系统帐号(非用户帐号,用户不可登录)向用户发送的消息,既可以是通过调用广播接口发送给所有人的消息,也可以是加好友等单条通知消息。
在融云平台中,其实并不存在系统消息的概念,一般系统消息特指会话类型(ConversationType)为“系统(SYSTEM)”的会话中的消息。
离线消息
当对端用户不在线的时候,融云服务器会将收到的消息保留 7 天。7 天内对端客户端如果上线,融云会直接将消息发送到对端,如果 7 天内对端客户端都没有上线,融云服务器将抛弃掉过期的消息。单聊、群聊支持离线消息。聊天室不支持离线消息。
参见技术实践丨IM 消息数据存储结构设计中对离线消息与历史消息的详细说明。
消息补偿
是指用户在更换设备或卸载重新安装应用后,针对消息的一种补偿机制,使用户可以在新的设备上查看从当天零点开始,在其他终端上发送和接收过的消息,补偿功能需要开启“多设备消息同步”功能后才支持。
自定义消息
根据业务需要,由开发者创建的消息类型、消息内容结构,自定义消息的类型、消息结构需要确保多端一致,否则将出现无法互通的问题。
落地通知
落地通知是产生一条融云系统会话的消息抵达用户。用户在线时能即时收到消息;当用户离线时,融云消息会默认生成一条远程推送。
不落地通知
不落地通知本质上是一种远程通知方式,在客户端展现为一条远程推送通知(仅产生通知,不产生会话消息)。不落地通知始终通过推送通道下发数据,可使用融云自建推送通道或客户端已集成的第三方推送通道。其中 iOS 使用 APNs(Apple Push Notification service),Android 使用开发者在 SDK 中配置的推送服务,包括融云自研推送、小米、华为、魅族、OPPO、vivo、FCM。
消息扩展
针对已经发送的消息,在原消息的基础上增加扩展信息,扩展信息以 Key、Value 键值对的方式进行存储,单条消息最多可设置 300 个扩展信息。
全量消息路由
是指将应用下用户发送的所有消息,实时从融云 IM 服务端同步到客户的应用服务器地址,可通过此功能将全量消息数据存储到应用服务器。
服务端消息回调
通过自定义条件(消息发送者、接收者、会话类型、消息类型),将符合条件的消息回调至开发者应用服务器,不直接发送给目标用户,根据应用服务器返回的响应结果决定是否下发。适用于对接自己或其他第三方内容审核服务的应用场景。