iOS

服务端会话服务

更新时间: 2024/03/14 17:08:34

服务端会话列表由服务器维护:

  • 支持存储用户全量的会话历史列表以及保存最近一条消息

  • 支持客户端从服务端拉取会话列表,不支持同步到本地会话列表

  • 不支持未读数

获取服务端会话

分页获取服务端会话列表

参数 说明
option 分页查询选项,可设置为空,代表全量获取。详见 NIMFetchServerSessionOption
completion 获取服务端历史会话异步回调,详见 NIMFetchRecentSessionsHistoryBlock
  • 示例代码:
objc// 下一页
NIMFetchServerSessionOption * option = [[NIMFetchServerSessionOption alloc] init];
option.needLastMessage = needLastMsg;
option.minTimestamp = min;
option.maxTimestamp = currentMin - 1;
option.limit = limit;
[[NIMSDK sharedSDK].conversationManager fetchServerSessions:option completion:^(NSError * _Nullable error, NSArray<NIMRecentSession *> * _Nullable recentSessions, BOOL hasMore) {}];
  • 首次调用该方法无需传入 minTimestamp,返回的时间戳需要在下一次调用时传入 minTimestamp
  • 回调参数 hasMore 如果为 YES,表示未获取完所有服务端会话。

获取服务端指定会话

参数 说明
session 会话对象,详见 NIMSession
completion 获取服务端历史会话异步回调,详见 NIMFetchRecentSessionHistoryBlock
  • 示例代码:
objc[[NIMSDK sharedSDK].conversationManager fetchServerSessionBySession:recent.session completion:^(NSError * _Nullable error, NIMRecentSession * _Nullable recentSession) {}];

修改服务端会话扩展信息

参数 说明
ext 扩展信息
session 会话对象,详见 NIMSession
completion 修改服务端会话扩展异步回调,详见 NIMRemoteRecentSessionBlock
  • 示例代码:
objc [[NIMSDK sharedSDK].conversationManager updateServerSessionExt:@"newServerExt" session:recentSession.session completion:^(NSError * _Nullable error) { }];

删除服务端指定会话

参数 说明
sessions 会话对象列表,详见 NIMSession
completion 删除服务端会话异步回调,详见 NIMRemoteRecentSessionBlock
  • 示例代码:
objc[[NIMSDK sharedSDK].conversationManager deleteServerSessions:@[recentSession.session] completion:^(NSError * _Nullable error) {}];
此文档是否对你有帮助?
有帮助
去反馈
  • 获取服务端会话
  • 分页获取服务端会话列表
  • 获取服务端指定会话
  • 修改服务端会话扩展信息
  • 删除服务端指定会话