服务端会话服务
更新时间: 2025/11/20 11:29:54
网易云信服务端会话列表由服务器维护。
-
支持存储用户全量的会话历史列表以及保存最近一条消息。
-
支持客户端从服务端拉取会话列表,不支持同步到本地会话列表。
-
不支持未读数。
技术原理
-
RecentSession:与用户最近有过会话的联系人信息,包括联系人帐号、最近一条消息的时间、扩展字段、消息内容等。 -
RecentSessionList:一页会话列表数据,包含一页RecentSession数据,以及是否有更早消息的提示。
前提条件
已在 云信控制台 IM 即时通讯 > 全局功能 开通 服务端会话列表 功能。
获取服务端会话
获取服务端会话列表
-
参数说明:
参数 说明 option配置参数,详见 QueryMySessionOption -
示例代码:
javaQueryMySessionOption option = new QueryMySessionOption(); option.setMinTimestamp(startTime); option.setMaxTimestamp(endTime); NIMClient.getService(MsgService.class).queryMySessionList(option).setCallback(new RequestMySessionListCallback(queryAmount, startTime, this::showSessionList));
获取服务端指定会话
-
参数说明:
参数 说明 sessionId会话 ID。单聊: p2p|accid;群聊:team|tid;超大群:super_team|tid,不可为空。 -
示例代码:
javaNIMClient.getService(MsgService.class).queryMySession(sessionId).setCallback(new RequestCallback<RecentSession>() { @Override public void onSuccess(RecentSession param) { resultTV.setText(sessionToString(param)); } @Override public void onFailed(int code) { Toast.makeText(SessionActivity2.this, "获取单条会话失败, code=" + code, Toast.LENGTH_SHORT).show(); } @Override public void onException(Throwable exception) { exception.printStackTrace(); Toast.makeText(SessionActivity2.this, "获取单条会话出现异常, msg=" + exception.getMessage(), Toast.LENGTH_SHORT).show(); } });
修改服务端会话扩展信息
-
参数说明:
参数 说明 sessionId会话 ID。单聊: p2p|accid;群聊:team|tid;超大群:super_team|tid,不可为空。ext会话的扩展字段,仅自己可见。 -
示例代码:
javaNIMClient.getService(MsgService.class).updateMySession(sessionId).setCallback(new RequestCallback<Void>() { @Override public void onSuccess(Void param) { Toast.makeText(SessionActivity2.this, "更新会话成功", Toast.LENGTH_SHORT).show(); } @Override public void onFailed(int code) { Toast.makeText(SessionActivity2.this, "更新会话失败, code=" + code, Toast.LENGTH_SHORT).show(); } @Override public void onException(Throwable exception) { Toast.makeText(SessionActivity2.this, "更新会话出现异常, msg=" + exception.getMessage(), Toast.LENGTH_SHORT).show(); } });
删除服务端会话
-
参数说明:
参数 说明 sessionIdArr会话列表。单聊、群组、超大群每一项会话的格式分别是:
单聊:p2p|accid;群聊:team|tid;超大群:super_team|tid -
示例代码:
javaNIMClient.getService(MsgService.class).deleteMySession(selectedArr).setCallback(new RequestCallback<Void>() { @Override public void onSuccess(Void param) { Toast.makeText(SessionActivity2.this, "删除会话成功", Toast.LENGTH_SHORT).show(); } @Override public void onFailed(int code) { Toast.makeText(SessionActivity2.this, "删除会话失败, code=" + code, Toast.LENGTH_SHORT).show(); } @Override public void onException(Throwable exception) { exception.printStackTrace(); Toast.makeText(SessionActivity2.this, "删除会话出现异常, msg=" + exception.getMessage(), Toast.LENGTH_SHORT).show(); } });
此文档是否对你有帮助?





