会话置顶
IMKit 提供设置会话置顶与展示置顶会话。

用法
设置会话置顶后,该状态将会被同步到服务端。融云会为用户自动在设备间同步会话置顶的状态数据。客户端可以通过监听器获取同步 通知,也可以主动获取最新数据。
定制化
如果 IMKit 默认实现的功能不满足需求,您可以使用 IMKit 提供的 API。
设置会话置顶
设置会话置顶后,会话将在会话列表页面置顶显示。所有置顶会话按照会话时间降序排列。
客户端一般通过本地消息数据自动生成会话与会话列表。如果需要置顶的会话在本地尚不存在,您可以通过设置 isNeedCreate
参数为 true
来创建会话。
示例代码
TypeScript
// 添加准备置顶/取消置顶的会话
let conversationIds: List<ConversationIdentifier> = new List();
conversationIds.add(ConversationIdentifier.createWith2(ConversationType.Private, "targetId"));
// 会话置顶参数
let option: ISetConversationTopOption = {
// 是否置顶
isTop: !conversation.isTop,
// 是否创建会话:对应的会话本地不存在时,true 将创建该会话; false 不创建该会话
isNeedCreate: false,
// 是否更新会话时间,默认为 true
isNeedUpdateTime: true,
}
RongIM.getInstance().conversationService().setConversationsToTop(conversationIds, option)
参数说明
参数 | 类型 | 说明 |
---|---|---|
conversationIds | List<ConversationIdentifier> | 会话 id 标识列表 |
option | ISetConversationTopOption | 置顶配置 |
ISetConversationTopOption
参数
参数 | 类型 | 说明 |
---|---|---|
isTop | boolean | 是否置顶,true 设置置顶;false 取消置顶 |
isNeedCreate | boolean | 是否创建会话:对应的会话本地不存在时,true 将创建该会话; false 不创建该会话 |
isNeedUpdateTime | boolean | 是否更新会话时间,非必选,默认为 true |
监听置顶状态同步
即时通讯业务支持会话状态(置顶状态数据和免打扰状态数据)同步机制。设置会话状态同步监听器后,如果会话状态改变,可在本端收 到通知。同时也支持监听本端操作的修改置顶和免打扰状态。
详细说明可参见多端同步免打扰/置顶。
获取会话置顶状态与置顶会话
您可以从客户端主动获取会话置顶状态数据和置顶会话,但 IMKit SDK 未直接提供相关方法,您需要使用 IMLib 中提供的方法。
详见 IMLib 文档会话置顶 中的获取会话置顶状态与获取置顶会话列表。