即时通信 IM Flutter(会话介绍)

当用户创建了一个单聊或群聊,对应的会话就随之创建。
在腾讯云 IM SDK 中,会话类为 TencentImSDKPlugin.v2TIMManager.getConversationManager()。可以以使用会话管理类中的 API 实现会话列表展示/更新、会话未读数更新、置顶会话、会话草稿、会话免打扰等功能。

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

一、会话类介绍

会话类为 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 会话排序字段 具体使用请参见 会话列表。
markList 会话标记列表 具体使用请参考 会话标记。
customData 会话自定义数据 设置请调用 setConversationCustomData 接口。云端保存,最多支持 256 Bytes。
conversationGroupList 会话所属分组列表 具体使用请参考 会话分组。
c2cReadTimestamp C2C 会话上次已读消息时间 最新已读消息的 UTC 时间戳,仅对单聊会话生效(从 7.x 版本开始支持)。
groupReadSequence group 会话上次已读消息 seq 已读消息的 sequence,仅对群聊会话生效(从 7.x 版本开始支持)。

二、会话存储策略

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

如果一个会话长时间没有信息变更,该会话在云端最多保存 7 天。

本地存储的会话和云端存储的会话并不总是一致的,如果用户不主动调用 deleteConversation 接口删除本地的会话,该会话就会一直存在。而云端存储的会话最大只会保存 100 条,且对于长时间没有信息变更的会话,云端最多保存 7 天,所以不同的终端本地显示的会话可能会不一样。

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