当前页

设置会话扩展信息

2026-11-06

功能简介

会话扩展信息(extendedData)是由业务侧自定义并维护的 JSON 字符串,可附着在会话上,用于存储会话的自定义业务数据。

自 3.3.0 版本起,ZIM 支持为会话设置扩展信息。设置后,在查询会话列表或收到会话变更通知时,扩展信息会通过 ZIMConversation 的 extendedData 字段返回。

说明

会话扩展信息与会话标记相互独立:设置或取消会话标记不会清除会话扩展信息。

实现流程

调用 setConversationExtendedData 接口,传入 ZIMConversationExtendedData 列表(包含会话 ID、会话类型及扩展信息),即可批量设置多个会话的扩展信息。extendedData 传空字符串,可删除对应会话的扩展信息。

注意事项:

  • 仅支持单聊和群聊会话,其他会话类型(如房间)会在本地设置失败。
  • 即使回调中 errorInfo.code 为成功,也仍应检查 failedConversationInfos,在本地被拒绝的条目会通过该列表返回。
// 构造会话扩展信息列表
ZIMConversationExtendedData *data = [[ZIMConversationExtendedData alloc] init];
data.conversationID = @"convId";
data.conversationType = ZIMConversationTypePeer;
data.extendedData = @"{\"key\":\"value\"}";

// 设置会话扩展信息
[[ZIM getInstance] setConversationExtendedData:@[data] callback:^(NSArray<ZIMConversationBaseInfo *> * _Nonnull failedConversationInfos, ZIMError * _Nonnull errorInfo) {
        // 设置会话扩展信息的结果回调
        if (errorInfo.code == ZIMErrorCodeSuccess) {
            // 设置成功,注意检查 failedConversationInfos 中设置失败的会话
        } else {
            // 可以打印错误码和错误信息,参考 ZIM 官网错误码文档排查错误原因
        }
}];

上一篇

为单聊创建多个会话

下一篇

功能概述

当前页

返回到顶部