即时通信 IM Android&iOS&Windows&Mac(会话介绍)

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

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

一、会话类介绍

会话类为 V2TIMConversation (Java / Swift / Objective-C / C++)。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 接口删除会话,会话就会一直存在本地。因此,云端存储的会话和本地存储的会话不总是一致的。

赞 (0)
上一篇 4天前
下一篇 4天前