会话置顶
会话置顶功能提供以下能力:
- 在会话列表中置顶会话:通过会话
Conversation
的置顶isTop
属性控制。 - 在携带同一标签的会话中置顶(需配合使用会话标签功能):通过 ConversationTagInfo 类的
isTop
属性控制。 - 从 5.20.0 版本开始,支持超级群类型会话置顶,超级群功能需提交工单开启。
在会话列表中置顶会话
设置指定会话在会话列表中置顶后,SDK 将修改 Conversation 的 isTop
字段,该状态将会被同步到服务端。融云会在为用户自动同步会话置顶的状态数据。客户端可以主动获取或通过监听器获取到最新数据。
设置会话置顶
使用 setConversationToTop 设置会话置顶。
接口
Java
RongIMClient.getInstance().setConversationToTop(conversationType, targetId, isTop, callback);
参数说明
参数 | 类型 | 说明 |
---|---|---|
conversationType | ConversationType | 会话类型,支持单聊、群聊、系统、超级群会话。 |
targetId | String | 会话 ID |
isTop | boolean | 是否置顶。true 为置顶,false 为取消置顶。 |
callback | ResultCallback<Boolean> | 回调接口 |
示例代码
Java
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = " 会话 Id ";
boolean isTop = true;
boolean needCreate = true;
RongIMClient.getInstance().setConversationToTop(conversationType, targetId, isTop, new
ResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean success) {
}
@Override
public void onError(RongIMClient.ErrorCode ErrorCode) {
}
}) ;
客户端通过本地消息数据自动生成会话与会话列表,并会在用户登录的多个设备之间同步置顶状态。如果在调用该 API 时,会话尚未生成,或者已被移除,SDK 的处理方式如下:
- 如果 SDK 版本 ≧ 5.6.8,当需要置顶的会话在本地或该用户登录的其他设备上不存在时,SDK 会自动创建会话并置顶。
- 如果 SDK 版本 < 5.6.8,必须使用支持
needCreate
参数的重载方法,并设置该参数为true
,SDK 才会自动创建会话并置顶。详见 API 参考 setConversationToTop。