浏览 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

会话数据

字段说明
conversationID会话 ID。
conversationType会话类型:单聊为 ConversationType.SINGLE_CHAT;群聊为 ConversationType.GROUP_CHATConversationType.SUPER_GROUP_CHAT
userID / groupID单聊使用 userID 表示目标用户,群聊使用 groupID 表示目标群组;两者仅有一个生效。
showName会话名称,单聊为目标用户昵称或备注,群聊为群聊名称或备注。
faceURL会话头像URL。
unreadCount当前会话未读数。
latestMsg最后一条消息的 JSON 字符串。
latestMsgSendTime最后一条消息的发送时间。
recvMsgOpt当前会话消息接收方式。
groupAtType群聊 @ 提醒状态。
draftText会话草稿。
draftTextTime草稿更新时间。
isPinned是否置顶。
isPrivateChat是否开启阅后即焚。
burnDuration阅后即焚消息的阅读时长,单位为秒。
isMsgDestruct是否开启服务端消息定期删除。
msgDestructTime服务端消息定期删除时间。
ext预留的会话扩展字符串。
ex业务约定的会话扩展字符串。
isNotInGroup当前用户是否已不在该群组中。

按任务查找页面

状态更新

设置 OnConversationListener 后,可以接收会话列表和总未读数的变化。监听器的完整设置方式见获取会话列表

  • onNewConversation:接收新增的会话。
  • onConversationChanged:接收会话属性变化,例如未读数、置顶状态和草稿。
  • onTotalUnreadMessageCountChanged:接收当前账号消息总未读数的变化。

再次调用 setOnConversationListener() 会替换已设置的 listener。