Android&iOS&Windows&Mac

最近更新时间:2024-01-08 10:41:32

我的收藏

会话介绍

用户创建了一个单聊或群聊,当其中有消息的收发时,对应的会话就随之创建。 在腾讯云 IM SDK 中,会话管理类为 V2TIMConversationManager(Android)V2TIMManager(Conversation)(iOS & Mac)。您可以使用会话管理类中的 API 实现会话列表展示/更新、会话未读数更新、置顶会话、会话草稿、会话免打扰等功能。

会话类介绍

会话类为 V2TIMConversation (Android / iOS & Mac / Windows)。V2TIMConversation 定义了以下内容:
属性
含义
说明
type
会话类型
参考 V2TIMConversationType 定义。分为 C2C(单聊)和 Group(群聊)。
conversationID
会话唯一 ID
如果是单聊,组成方式为 c2c_userID;如果是群聊,组成方式为 group_groupID。
userID
对方用户 ID
如果会话类型为单聊,userID 会存储对方的用户 ID,否则为空。
groupID
当前群聊 ID
如果会话类型为群聊,groupID 会存储当前群的群 ID,否则为空。
groupType
当前群聊类型
如果会话类型为群聊,groupType 为当前群类型,否则为空。
showName
会话展示名称
群聊会话名称优先级:群名称 > 群 ID;
单聊会话名称优先级:对方好友备注 > 对方昵称 > 对方的 userID。
faceUrl
会话展示头像
群聊头像:群头像;单聊头像:对方头像。
unreadCount
会话未读消息数
具体使用请参考 会话未读数。直播群(AVChatRoom)不支持未读计数,默认为 0。
recvOpt
消息接收选项
参考 V2TIMReceiveMessageOpt 定义。具体使用请参考 消息免打扰
lastMessage
会话最后一条消息
具体使用请参考 会话列表
groupAtInfolist
群会话 @ 信息列表
通常用于展示 “有人@我” 或 “@所有人” 这两种提醒状态。
draftText
草稿信息
设置草稿信息请调用 setConversationDraft 接口,具体实现请参考 会话草稿
draftTimestamp
草稿编辑时间
草稿设置的时候自动生成。
isPinned
会话是否置顶
具体使用请参考 置顶会话
orderKey
会话排序字段
具体使用请参考 会话列表
markList
会话标记列表
具体使用请参考 会话标记。从 6.5 版本开始支持。
customData
会话自定义数据
设置请调用 setConversationCustomData 接口。云端保存,最多支持 256 Bytes。从 6.5 版本开始支持。
conversationGroupList
会话所属分组列表
具体使用请参考 会话分组。从 6.5 版本开始支持。
c2cReadTimestamp
已读消息的时间戳
仅对单聊会话生效。从 7.1 版本开始支持。
groupReadSequence
已读消息的 sequence
仅对群聊会话生效。从 7.1 版本开始支持。

会话存储策略

本地存储的会话列表没有数量上限。云端存储的会话列表最大数量为 100。如果您希望扩展此数量,可以升级旗舰版。旗舰版用户可以在控制台配置最高数量为 500,配置页面如下图所示:

注意:
对于云端存储的会话,如果数量超过最大限制,会优先淘汰掉最久没更新的会话。对于本地存储的会话,如果用户不主动调用 deleteConversation 接口删除会话,会话就会一直存在本地。因此,云端存储的会话和本地存储的会话不总是一致的