浏览 SDKs · Android
SDKsAndroid

会话概览

了解 Android SDK 中 ConversationInfo、conversationID、会话设置和会话事件的职责。

复制

会话是当前登录用户围绕一次单聊或群聊维护的聊天列表状态,由一条 ConversationInfo 记录表示。它保存未读数、最后一条消息、置顶、草稿、消息接收方式和扩展字段。conversationID 用于定位当前账号的会话状态;单聊目标使用对方 userID,群聊目标使用 groupID

群资料、成员关系和群权限属于群组能力。群聊页面使用 groupID 调用群组 API,使用 conversationID 处理会话设置、未读数、草稿和消息清理。

会话标识

标识用途
conversationID当前账号的会话记录 ID,用于会话设置、未读状态和消息历史。
userID单聊对方的用户 ID。
groupID群聊对应的群组 ID,也是群组 API 的目标标识。
sourceId按会话类型查询或生成 ID 时传入的聊天目标:单聊为 userID,群聊为 groupID

单聊使用 ConversationType.SINGLE_CHAT。群聊根据群类型使用 ConversationType.GROUP_CHATConversationType.SUPER_GROUP_CHAT;不要在应用层自行拼接 conversationID

ConversationInfo

字段说明
conversationID会话 ID。
conversationType会话类型。
userID / groupID单聊目标用户或群聊目标群组。
showName / faceURL会话列表显示名称和头像。
unreadCount当前会话未读数。
latestMsg / latestMsgSendTime最后一条消息 JSON 字符串及发送时间。
recvMsgOpt当前会话消息接收方式。
groupAtType群聊 @ 提醒状态。
draftText / draftTextTime会话草稿及更新时间。
isPinned是否置顶。
isPrivateChat / burnDuration阅后即焚开关和保留时长。
isMsgDestruct / msgDestructTime服务端消息定期删除设置。
ex业务约定的会话扩展字符串。

查询和设置

状态更新

查询方法建立会话快照,事件负责合并后续增量:

  • 新会话和会话属性变化由获取会话列表归属的 onNewConversationonConversationChanged 处理。
  • 当前账号总未读数由获取消息总未读数归属的 onTotalUnreadMessageCountChanged 处理。

ConversationManager 只保存一个 OnConversationListenersetOnConversationListener() 会替换当前 listener。应用应在统一状态层组合所有 callback 并设置一次;请求成功、事件到达和重新查询校准是三个独立阶段。