会话置顶
Global IM UIKit 提供设置会话置顶与展示置顶会话。
用法
在会话列表中,长按某条会话会出现置顶/取消置顶按钮,点击后会更新该会话置顶状态。设置会话置顶后,该状态将会被同步到服务端。融云会为用户自动在设备间同步会话置顶的状态数据。客户端可以通过监听器获取同步通知。
定制化
如果 Global IM UIKit 默认实现的功能不满足需求,您可以使用 Global IM UIKit 提供的 API。
设置会话置顶
设置会话置顶后,会话将在会话列表页面置顶显示。所有置顶会话按照会话时间降序排列。
IMCenter.getInstance().setConversationToTop(conversationType, targetId, isTop, needCreate, callback);
参数 | 类型 | 说明 |
---|---|---|
conversationType | ConversationType | 会话类型 |
targetId | String | 会话 Id |
isTop | boolean | 是否置顶, true 为置顶, false 为取消置顶 |
needCreate | boolean | 会话不存在时,是否创建会话 |
callback | ResultCallback<Boolean> | 回调接口 |
客户端一般通过本地消息数据自动生成会 话与会话列表。如果需要置顶的会话在本地尚不存在,您可以通过 needCreate
参数创建会话。
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = " 会话 Id ";
boolean isTop = true;
boolean needCreate = true;
IMCenter.getInstance().setConversationToTop(conversationType, targetId, isTop, needCreate, new
ResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean success) {
}
@Override
public void onError(RongIMClient.ErrorCode ErrorCode) {
}
}) ;
监听置顶状态同步
即时通讯业务支持会话状态(置顶状态数据和免打扰状态数据)同步机制。设置会话状态同步监听器后,如果会话状态改变,可在本端收到通知。
会话的置顶和免打扰状态数据同步后,SDK 会触发 ConversationStatusListener
的 onStatusChanged
方法。
public interface ConversationStatusListener {
void onStatusChanged(ConversationStatus[] conversationStatus);
}
获取会话置顶状态与置顶会话
您可以从客户端主动获取会话置顶状态数据和置顶会话,但 Global IM UIKit SDK 未直接提供相关方法,您需要使用 IMLib 中提供的方法。
详见 IMLib 文档会话置顶 中的获取会话置顶状态与获取置顶会话列表。