即时通讯
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • 小程序
  • Flutter
  • Unity3D
  • uni-app
  • React Native
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 实现基本消息收发
  • 用户相关
  • 房间相关
  • 群组相关
  • 消息相关
  • 呼叫邀请
  • 会话管理
  • 离线推送
  • 常见错误码
  • 服务端 API
  • 客户端 API
  • 常见问题

ZIM 发布日志

更新时间:2023-09-01 00:10

2.10.0 版本

发布日期:2023-08-31

新增功能

功能项 功能描述 相关接口
消息表态 支持对单聊和群聊消息做出反应(即表态),一般可用于表情回复消息等场景,也可用于发起群组投票、确认群组结果等操作。此外,还支持删除自己做出的表态,以及查询某个表态相关的用户信息。
服务端发送单聊接口支持发送者无感知 新增 SenderUnaware 字段,允许通过服务端发送单聊消息后,请求参数中的 FromUserId(发送方用户 ID)所对应的客户端对此次发送无感知。 发送单聊消息
服务端新增全员推送接口 支持向所有在线用户(包括消息发送用户自己)发送特定内容的消息,如文本、图片等。本功能适用于全员活动公告、送礼跨房间飘屏等场景。
服务端新增查询用户是否在房间内接口 支持通过此接口,查询指定用户是否在目标房间内。 查询用户是否在房间内

改进优化

优化项 优化描述 相关接口
用户昵称 UserName 长度上限调整 从 64 字节扩展至 256 字节,支持更长昵称,适用于 2.0.0 及以后版本的 ZIM SDK。 ZIMUserInfo > userName


2.9.0 版本

发布日期:2023-07-18

新增功能

功能项 功能描述 相关接口
呼叫邀请新增模式 新增进阶模式,支持用户在呼叫中邀请、退出呼叫和结束呼叫。
撤回他人消息 群组会话中,群主可以撤回他人发送的消息。 revokeMessage
获取房间成员信息 支持调用服务端接口,根据房间 ID 获取房间成员的信息,包括房间用户数量、用户 ID 及名称。 获取房间成员信息
服务端消息发送接口新增支持更多消息类型 支持通过服务端接口发送图片、文件、音频、视频、自定义和弹幕类型消息,详情请参考 MessageBody 说明
下载外部富媒体消息 支持调用 downloadMediaFile 接口,通过外部 URL 下载富媒体消息。 downloadMediaFile
设置消息拓展字段 新增仅本端可见的消息拓展字段,支持更新该字段,可用于展示消息翻译状态或其他内容。
搜索本地消息 通过关键字、用户 ID 等条件对单个或所有 单聊群聊 会话的本地消息进行搜索,获取符合条件的消息列表;也可以基于本地消息搜索会话。
搜索群组 支持基于关键字对群组名称进行搜索,同时支持将群成员名称和群成员昵称纳入搜索范围。 searchLocalGroups
搜索群成员 支持基于关键字对指定群内的群成员名称进行搜索,同时支持将群成员昵称纳入搜索范围。 searchLocalGroupMembers

改进优化

优化项 优化描述 相关接口
呼叫邀请接收回调 优化呼叫邀请普通模式,支持在呼叫邀请的超时时间内,离线用户收到呼叫邀请在上线后能够立即被通知。 onCallUserStateChanged

废弃删除

废弃接口 废弃说明 废弃版本
为便利开发者监听呼叫邀请中用户的呼叫状态变化,新增 onCallUserStateChanged,替代原呼叫邀请回调 onCallInvitationAcceptedonCallInvitationRejectedonCallInviteesAnsweredTimeout 2.9.0


2.8.2 版本

发布日期:2023-06-01

问题修复

修复已知问题。



2.8.0 版本

发布日期:2023-05-23

新增功能

功能项 功能描述 相关接口
置顶会话 用户可以选择想要优先查看的会话,将其固定在会话列表顶部。
自定义消息类型 新增自定义类型消息,开发者可自定义消息的类型,如投票类型、接龙类型、视频卡片类型等,并自行完成消息的解析。ZIM SDK 不负责定义和解析自定义消息的具体内容。 ZIMCustomMessage
查询会话信息 通过指定会话 ID 查询会话的详细信息。 queryConversation
查询房间内用户状态 通过指定若干 userID 和 roomID,查询目标用户是否在指定房间内,从而进行业务逻辑设计,如邀请连麦。

最多支持一次性查询 10 名用户的信息。

queryRoomMembers
消息发送前回调 通过设置服务端回调,在用户发送单聊、群聊或房间聊天消息时,ZIM 向开发者服务端发送请求,开发者可实现:
  • 拦截违规消息。
  • 建立用户黑白名单。
消息发送前回调
消息发送后回调 通过设置服务端回调,在用户发送单聊、群聊、房间消息成功或失败后,ZIM 向开发者服务端发送请求,开发者可实现:
  • 实时记录用户发送的消息。
  • 统计用户发送的消息。
  • 直播录屏场景中,通过录制视频的时间戳,将聊天记录嵌入到录播视频中。
消息发送后回调
批量注册用户 支持调用服务端接口,指定用户信息(用户 ID 等),开发者可实现发起一次请求,注册多名用户。

最多支持一次性注册 100 名用户。

批量注册用户
查询 App 下的群列表 支持调用服务端接口获取 App 中所有群组的 ID。 查询 App 下的群列表
查询群成员列表 支持调用服务端接口,指定群组 ID,获取对应群组的成员列表。 查询群成员列表
移除群成员 支持调用服务端接口,指定群组 ID 和用户 ID,批量群成员。

最多支持一次性移除 50 名群成员。

移除群成员

废弃删除

废弃项 废弃描述 相关接口
废弃系统消息类型 ZIMMessageType 废弃了系统消息(值为 30),开发者请使用功能更完善的自定义消息(值为 200)替代。 ZIMMessageTypeCustom


2.7.1 版本

发布日期:2023-03-15

问题修复

修复已知问题。



2.7.0 版本

发布日期:2023-03-07

改进优化

优化项 优化描述 相关接口
优化用户登录时 userName 置空逻辑 区分了用户名修改接口和登录接口。用户登录时,若将 userName 置空,不再会因此修改 userName,优化用户登录体验。 userName
优化会话消息拉取时机 SDK 会智能检测当前用户的会话活跃情况,优化数据同步的时机,提升用户查询速度与体验。 -
优化断网重连时机 当 APP 断网后,SDK 会实时检测网络状态变化以及 APP 前后台变化,加快用户重连速度。 -


2.6.0 版本

发布日期:2023-01-11

新增功能

功能项 功能描述 相关接口
服务端新增呼叫邀请相关回调 用户可以通过 ZIM 服务端的回调,明确呼叫邀请的结果,适用于网络环境不好时,SDK 反馈的结果不稳定。
消息体增加扩展字段 ZIMMessage 增加 extendedData 字段,用户可以将用户头像和昵称等信息传入该字段,在聊天对话发送消息时实时展示。 extendedData
新增发送消息状态回调 开发者可以通过监听此回调来完善消息发送状态的逻辑。根据消息状态的变更,开发者可以在 UI 上做相应提醒等。 onMessageSentStatusChanged

改进优化

优化项 优化描述 相关接口
优化弱网情况下消息发送的逻辑 用户在弱网环境下发送消息时,SDK 会通过策略逻辑尽可能保证消息发送状态的正确性。 -


2.5.0 版本

发布日期:2022-11-30

新增功能

功能项 功能描述 相关接口
消息撤回 撤回发送成功的消息,默认撤回 2 分钟内的消息。撤回操作仅支持撤回单聊和群聊的消息,不支持撤回房间内消息。

如需配置撤回时间,请联系 ZEGO 技术支持。

消息回执 ZIMMessageSendConfig 新增 hasReceipt 参数,支持在单聊和群聊会话中发送附带回执的消息。
ZIM SDK 支持在单聊和群聊会话查看其他用户是否阅读本端发送的信息,以及支持查看群聊中已读消息和未读消息的数量,以及对应的用户信息,但是不支持信令消息、弹幕消息、以及房间内消息使用回执。
呼叫邀请支持离线推送 ZIMCallInviteConfig 新增 pushConfig 参数,支持向离线用户推送呼叫邀请。离线用户接受呼叫邀请需要搭配 ZPNs SDK 一起使用。 ZIMCallInviteConfig

改进优化

优化项 优化描述 相关接口
ZIMPushConfig 的额外字段命名变更 为避免开发者接入概念混淆,ZIMPushConfig 的 extendedData 参数修改为 payload 参数,功能不变。开发者在使用 ZPNs SDK 时,通过厂商通道的 extras 里面的 payload 字段即可获取到发送端传入的额外字段,详情请参考 自定义点击通知获取 payload 字段

若集成 ZIM SDK 2.5.0 版本后,开发者使用了离线推送功能后出现了接口编译失败的问题,请将 extendedData 改为 payload。

-
优化富媒体消息传输协议 减少网络传输过程中的协议包大小。 -
优化 API 调用时的线程安全 - -


2.4.2 版本

发布日期:2022-11-01

问题修复

修复已知问题。



2.4.0 版本

发布日期:2022-10-10

新增功能

功能项 功能描述 相关接口
管理房间用户属性 支持房间内的用户自定义用户属性。例如:用户等级、勋章、状态等信息。
新增系统消息 新增系统消息类型,支持 SDK 触发进群通知、群主替换等系统性消息。可以通过 插入本地消息 功能实现。 -
插入本地消息 支持直接向本地插入一条任意消息类型的消息。开发者可结合系统消息类型,在客户端将回调通知(例如:邀请某人进群、把某人移出群等),转为系统消息类型,插入本地 DB,以达到系统提示的效果。 insertMessageToLocalDB

改进优化

优化项 优化描述 相关接口
优化消息发送接口 优化消息对象,在发送前和发送后是同一个对象。开发者在发送“视频”等内容较大的消息时,可以在消息上传完成前,缓存该消息对象,直到收到 SDK 发送成功通知时,通过比较对象相同来实现发送前 Loading 的效果。 sendMessage
优化断网重连逻辑 优化在无网状态下、以及断网重连后的逻辑。 -
优化性能 优化数据库性能。 -

接口变更

  • 新增接口
新增接口 接口描述 上线版本
login 新增不带 Token 参数的 login 接口。开发者使用 “AppSign 鉴权” 时,可直接使用该接口登录 ZIM,接入更加便捷。 2.4.0
sendMessage 新增发送消息接口,支持发送单聊、房间、群组消息。 2.4.0
onMessageAttached ZIMMediaMessageSentCallback 中新增 onMessageAttached 回调方法,用于监听消息对象发送前的相关信息,否则编译无法通过。 2.4.0
  • 废弃接口
废弃接口 变更说明 废弃版本
废弃单聊消息 sendPeerMessage、房间消息 sendRoomMessage、群组消息 sendGroupMessage 3 个消息发送接口,统一使用 sendMessage 接口替代,发送消息方式更加规范。 2.4.0


2.3.3 版本

发布日期:2022-09-09

改进优化

优化项 优化描述 相关接口
鉴权方式优化 从当前版本开始,开发者可以自主进行 “AppSign 鉴权” 和 “Token 鉴权” 的切换。

问题修复

修复已知问题。



2.3.1 版本

发布日期:2022-08-22

问题修复

修复已知问题。



2.3.0 版本

发布日期:2022-08-12

新增功能

功能项 功能描述 相关接口
新增扩展字段 支持用户通过扩展字段,设置自己的个人信息,例如用户头像、个性签名、性别等个人信息。 updateUserExtendedData
新增头像字段 用户信息及群组新增头像字段,用户可以上传自己的头像、或自定义群组头像。
支持 AppSign 鉴权

iOS、Android、macOS、Windows 平台支持 AppSign 鉴权,降低开发者接入门槛。

开发者在调用 create 接口,传入 AppSign,进行鉴权,鉴权通过即可使用 ZIM 相关功能。

create
图片/视频消息支持宽、高设置

方便开发者设计图片展示效果:

  • 图片消息支持设置“原图”宽、高,“大图”宽、高,“缩略图”宽、高。
  • 视频消息支持设置“首帧图“宽、高。
增加单例对象接口 便于开发者获取 ZIM 单例对象。 getInstance

改进优化

优化项 优化描述 相关接口
逻辑优化
  • 优化网络断开时、API 的逻辑表现。
  • 优化获取房间成员列表的逻辑。
-
性能优化 优化线程切换性能。 -
ZPNs SDK 适配优化 ZPNs SDK 适配 Android 12.0 版本。 -

接口变更

  • 废弃接口
废弃接口 变更说明 废弃版本
create 原有的 create 接口废弃,替换为同名的 create 接口,开发者可以通过传入 AppSign 进行鉴权,接入更加便捷。 2.3.0


2.2.4 版本

发布日期:2022-08-02

问题修复

修复已知问题。



2.2.3 版本

发布日期:2022-07-22

问题修复

修复已知问题。



2.2.1 版本

发布日期:2022-07-18

问题修复

修复已知问题。



2.2.0 版本

发布日期:2022-06-30

新增功能

功能项 功能描述 相关接口
更新用户名称 支持用户更新自己的名称 userName。
查询用户个人信息 支持用户查询个人信息,例如用户名称、签名等信息。
获取群组人数 支持获取群组里的成员人数。 queryGroupMemberCount


2.1.6 版本

发布日期:2022-06-17

问题修复

修复已知问题。



2.1.5 版本

发布日期:2022-06-06

新增功能

功能项 功能描述 相关接口
安全审核 支持对单聊、群聊和房间内的通讯消息(文本消息、图片消息)进行安全审核,审核范围包含:鉴黄、暴恐、违禁、涉政、广告等。

问题修复

修复已知问题。



2.1.1 版本

发布日期:2022-05-09

问题修复

修复已知问题。



2.1.0 版本

发布日期:2022-04-29

新增功能

功能项 功能描述 相关接口
收发富媒体消息 支持用户发送和接收图片、语音、视频和文件等类型的富媒体消息。
自动创建房间 进入房间时,如果房间不存在,支持自动创建房间。 enterRoom

改进优化

优化项 优化描述 相关接口
ZIMMessage 成员属性优化 ZIMMessage 对象的成员属性改为“只读”属性,开发者发送消息时无需关注和修改其属性。 ZIMMessage


2.0.0 版本

发布日期:2022-03-21

新增功能

功能项 功能描述 相关接口
会话管理
  • 支持用户更新、查询、删除会话列表。
  • 支持拉取会话列表,承载所有会话,实现消息列表。
群组系统 支持用户登录后,创建、加入、退出、解散群聊;同时配备转让群主、设置群公告等常用功能。
离线消息推送
  • 支持“单聊/群组”消息发送给离线用户,离线用户上线后自动拉取。
  • 支持通过手机厂商,将离线消息通知推送到手机设备上,支持主流厂商(华为、小米、OPPO、vivo、Apple)多数机型。
消息管理
  • 支持“单聊/群组/房间”的所有消息存储在本地数据库中,用户更换设备也可拉取到历史信息。
  • 支持删除“单聊/群组”会话的指定消息或全部消息。
呼叫邀请
  • 支持用户登录后,向指定“用户/群组/房间”发起呼叫邀请、取消邀请;支持其他用户同意邀请、拒绝邀请。
  • 可应用于视频通话、抱麦申请等场景。

改进优化

本次迭代,我们对产品的所有已有接口和新增接口,做了统一的风格优化,开发者从 1.x.x 升级至 2.0.0 API 时,需要在代码里做以下适配。

优化项 优化描述 相关接口
API 接口命名优化
查询房间成员 接口命名优化:queryRoomMember 重命名为 queryRoomMemberList
API 或回调接口新增参数
发送单聊/房间消息接口,增加 config 参数,用于设置是否配置离线推送、以及消息优先级等。
部分回调接口,增加 roomID 参数,便于开发者在调用相关接口时,获取当前操作结果来源的房间 roomID。
ZIMRoomAttributesOperatedCallback 增加了 roomID 和 errorKeys 参数,便于开发者获取房间属性时,获取当前操作结果来源的房间 roomID,同时操作失败的 key 会返回给开发者。


1.3.7 版本

发布日期:2022-02-18

问题修复

修复已知问题。



1.3.1 版本

发布日期:2021-12-27

此版本新增了后台服务端 API 接口,提升后台的消息发送能力。适用的场景更广泛,开发者可应用于在线剧本杀、在线直播、语聊房等场景中,下发场景所需音乐链接、图片链接、大批量文字等信息将更加便捷。

接口变更

  • 新增接口
新增服务端 API 接口 接口描述
发送单聊消息(POST 方式) 采用 POST 方式,向指定用户发送消息,消息大小限制为 32 KB。
发送房间消息(POST 方式) 采用 POST 方式,向房间内发送消息,并推送给房间内所有在线用户,消息大小限制为 32 KB。
  • 废弃接口
废弃接口 变更说明 废弃版本
发送单聊消息(GET 方式) 原有的 GET 请求方法(消息大小限制为 2 KB)废弃,变更为 发送单聊消息(POST 方式),消息大小限制扩大为 32 KB,适用场景更广泛。 1.3.1
发送房间消息(GET 方式) 原有的 GET 请求方法(消息大小限制为 2 KB)废弃,变更为 发送房间消息(POST 方式),消息大小限制扩大为 32 KB,适用场景更广泛。 1.3.1

改进优化

优化项 优化描述 相关接口
优化断网重连逻辑 优化断网重连逻辑。 -

问题修复

修复了请求超时逻辑在特殊场景下的异常问题。



1.3.0 版本

发布日期:2021-11-09

新增功能

功能项 功能描述 相关接口
新增“房间属性”功能

房间属性指房间内保存的 Key-Value 属性对,开发者可以使用此功能为房间设置自定义信息。

此功能可用于语聊房、直播等场景,用来记录房间背景图地址、各用户的角色身份、设备状态等自定义信息。

接口变更

  • 新增接口
新增接口 接口描述
createRoom 创建带高级设置的房间。
setRoomAttributes

设置房间属性。

  • 当 Key 不存在时,调用此接口,将自动添加此 Key-Value 属性对。
  • 当 Key 存在时,调用此接口,将更新 Value 值。

此接口支持同时设置多个 Key-Value,后台默认最多可设置 10 个 Key-Value 属性对。

deleteRoomAttributes 删除房间属性。调用此接口,传入 Key 即可删除,支持同时删除多个 Key-Value 属性对。
queryRoomAllAttributes 查询房间内设置的属性信息。
beginRoomAttributesBatchOperation

开始进行房间属性的组合式操作,支持组合调用设置和删除房间属性。组合操作可将同一房间中,多个不同操作合并为一个原子操作进行执行,通常用于连续操作时不想被其他用户操作插入执行的场景中。

在此接口之后调用的 setRoomAttributes 和 deleteRoomAttributes 将会被同时发送到后台执行。

endRoomAttributesBatchOperation

结束进行房间属性的组合式操作。

调用此接口之后将请求后台执行组合式操作。

onRoomAttributesUpdated 房间内有属性对更新时,相关信息的回调。
onRoomAttributesBatchUpdated 房间内有使用组合式操作来更新房间属性时,相关信息的回调。

问题修复

  1. 修复部分房间生命周期问题。
  2. 修复其他已知问题。


1.2.1 版本

发布日期:2021-10-13

改进优化

优化项 优化描述 相关接口
SDK 接口优化 onRoomStateChanged 回调新增 roomID 参数。 onRoomStateChanged

问题修复

修复在集成 ExpressSDK 与 ZIM SDK 时,会产生相同类冲突等问题。



1.2.0 版本

发布日期:2021-09-07

新增功能

功能项 功能描述 相关接口
支持 SDK 线上依赖 支持开发者使用 JitPack 自动集成 SDK,提升集成效率。 实现基本消息收发 - 集成

改进优化

优化项 优化描述 相关接口
SDK 错误码优化 优化错误码,便于开发者排查问题,提升接入体验。 服务端 API - 全局返回码
SDK 内部重连逻辑优化 优化内部断网重连逻辑,提高系统稳定性。 -


1.1.0 版本

发布日期:2021-08-13

首次发布,支持 1v1 通信、多人房间聊天等功能。

本篇目录