设置会话扩展信息
2026-11-06
功能简介
会话扩展信息(extendedData)是由业务侧自定义并维护的 JSON 字符串,可附着在会话上,用于存储会话的自定义业务数据。
自 3.3.0 版本起,ZIM 支持为会话设置扩展信息。设置后,在查询会话列表或收到会话变更通知时,扩展信息会通过 ZIMConversation 的 extendedData 字段返回。
说明
会话扩展信息与会话标记相互独立:设置或取消会话标记不会清除会话扩展信息。
实现流程
调用 setConversationExtendedData 接口,传入 ZIMConversationExtendedData 列表(包含会话 ID、会话类型及扩展信息),即可批量设置多个会话的扩展信息。extendedData 传空字符串,可删除对应会话的扩展信息。
注意事项:
- 仅支持单聊和群聊会话,其他会话类型(如房间)会在本地设置失败。
- 即使回调中
errorInfo.code为成功,也仍应检查failedConversationInfos,在本地被拒绝的条目会通过该列表返回。
// 构造会话扩展信息列表
ArrayList<ZIMConversationExtendedData> extendedDataList = new ArrayList<>();
ZIMConversationExtendedData data = new ZIMConversationExtendedData();
data.setConversationID("convId");
data.setConversationType(ZIMConversationType.PEER);
data.setExtendedData("{\"key\":\"value\"}");
extendedDataList.add(data);
// 设置会话扩展信息
zim.setConversationExtendedData(extendedDataList, new ZIMConversationExtendedDataSetCallback() {
@Override
public void onConversationExtendedDataSet(ArrayList<ZIMConversationBaseInfo> failedConversationInfos, ZIMError errorInfo) {
// 设置会话扩展信息的结果回调
// failedConversationInfos 为设置失败的会话基础信息列表
}
});