跳到主要内容

会话介绍

会话是指融云 SDK 根据每条消息的发送方、接收方以及会话类型等信息,自动建立并维护的逻辑关系,是一种抽象概念。

会话类型

融云支持多种会话类型,以满足不同业务场景需求。客户端 SDK 通过 RCIMIWConversationType 枚举来表示各类型会话,各枚举值代表的含义参考下表:

枚举说明
invalid暂不支持,SDK 保留类型,开发者不可使用
private单聊会话
group群聊会话
chatroom聊天室会话
system系统会话
ultraGroup超级群会话

单聊会话

指两个用户一对一进行聊天,两个用户间可以是好友也可以是陌生人,融云不对用户的关系进行维护管理,会话关系由融云负责建立并保持。

单聊类型会话里的消息会保存在客户端本地数据库中。

群组会话

群组指两个以上用户一起进行聊天,群组成员信息由 App 提供并进行维系,融云只负责将消息传达给群组中的所有用户。每个群最大人数上限为 3000 人,App 内的群组数量没有限制。

群组类型会话里的消息会保存在客户端本地数据库中。

超级群会话

超级群(UltraGroup)提供了一种新的群组业务形态,支持在群会话中创建独立的频道(channel),超级群的消息数据(会话、消息、未读数)和群组成员支持分频道进行聚合,各个频道之间消息独立。

超级群类型会话里的消息会保存在客户端本地数据库中,更多内容请参见超级群概述

聊天室会话

聊天室成员不设用户上限,海量消息并发即时到达,用户退出聊天室后不会再接收到任何聊天室中的消息,没有推送通知功能。会话关系由融云负责建立并保持连接,通过 SDK 相关接口,可以让用户加入或者退出聊天室。

SDK 不保存聊天室消息,在退出聊天室时会清空此聊天室所有数据,更多内容请参见聊天室概述

系统会话

系统会话是指利用系统帐号向用户发送消息从而建立的会话关系,此类型会话可以是通过调用广播接口发送广播来建立,也可以是加好友等单条通知消息而建立的会话。

会话实体类

客户端 SDK 中封装的会话实体类是 RCIMIWConversation,所有会话相关的信息都从该实体类中获取。

下表列出了 RCIMIWConversation中提供的主要成员

属性类型描述
conversationTypeRCIMIWConversationType会话类型,参考上文详细描述。
targetIdString会话 Id,单聊时为接收方 Id,群组会话中为群组 Id,聊天室会话中为聊天室 Id,系统会话为开发者指定的系统账号 Id。
channelIdString频道 ID
unreadCountint当前会话未读消息数量
mentionedCountint本会话里自己被 @ 的消息数量
firstUnreadMsgSendTimeint会话第一条未读消息的时间戳,仅对超级群生效。
topbool是否置顶
draftString会话里保存的草稿信息
notificationLevelRCIMIWPushNotificationLevel免打扰级别
lastMessageRCIMIWMessage会话中在客户端本地存储的最后一条消息的消息内容。