会话介绍
当用户创建了一个单聊或群聊,对应的会话就随之创建。
在腾讯云 IM SDK 中,会话类为 TencentImSDKPlugin.v2TIMManager.getConversationManager()
。您可以使用会话管理类中的 API 实现会话列表展示/更新、会话未读数更新、置顶会话、会话草稿、会话免打扰等功能。
会话类介绍
会话类为 V2TIMConversation
。V2TIMConversation
定义了以下内容:
属性 | 含义 | 说明 |
---|---|---|
type | 会话类型 | 参考 V2TIMConversationType 定义。分为 C2C(单聊)和 Group(群聊)。 |
conversationID | 会话唯一 ID | 如果是单聊,组成方式为 c2c_userID;如果是群聊,组成方式为 group_groupID。 |
userID | 对方用户 ID | 如果会话类型为单聊,userID 会存储对方的用户 ID,否则为 nil/null。 |
groupID | 当前群聊 ID | 如果会话类型为群聊,groupID 会存储当前群的群 ID,否则为 nil/null。 |
groupType | 当前群聊类型 | 如果会话类型为群聊,groupType 为当前群类型,否则为 nil/null。 |
showName | 会话展示名称 | 群聊会话名称优先级:群名称 > 群 ID; 单聊会话名称优先级:对方好友备注 > 对方昵称 > 对方的 userID。 |
faceUrl | 会话展示头像 | 群聊头像:群头像;单聊头像:对方头像。 |
unreadCount | 会话未读消息数 | 直播群(AVChatRoom)不支持未读计数,默认为 0。 |
recvOpt | 消息接收选项 | 参考 V2TIMReceiveMessageOpt 定义。具体使用请参考 免打扰。 |
lastMessage | 会话最后一条消息 | 具体使用请参考 会话列表。 |
groupAtInfolist | 群会话 @ 信息列表 | 通常用于展示 “有人@我” 或 “@所有人” 这两种提醒状态。 |
draftText | 草稿信息 | 设置草稿信息请调用 setConversationDraft 接口,具体实现请参考 会话草稿。 |
draftTimestamp | 草稿编辑时间 | 草稿设置的时候自动生成。 |
isPinned | 会话是否置顶 | 具体使用请参考 置顶会话。 |
orderKey | 会话排序字段 | 具体使用请参考 会话列表。 |
会话存储策略
本地存储的会话列表没有数量上限。 云端存储的会话列表最大数量为 100。如果您希望扩展此数量,可以升级旗舰版。旗舰版用户可以在控制台配置最高数量为 500。
云端存储的会话列表最大数量为 100。如果您希望扩展此数量,可以升级旗舰版。旗舰版用户可以在控制台配置最高数量为 500,配置页面如下图所示:
如果一个会话长时间没有信息变更,该会话在云端最多保存 7 天。如需放宽限制,请 联系我们。
本地存储的会话和云端存储的会话并不总是一致的,如果用户不主动调用 deleteConversation
接口删除本地的会话,该会话就会一直存在。而云端存储的会话最大只会保存 100 条,且对于长时间没有信息变更的会话,云端最多保存 7 天,所以不同的终端本地显示的会话可能会不一样。