2026 年 4 月 2 日,ZEGO 即时通讯 SDK(ZIM SDK)2.28.0 版本发布,Native、Flutter、React Native 新增消息表态支持重复表态和统计表态次数功能;小程序不再支持本地消息存储;uniapp-x 平台将 Native 本地依赖库改为线上依赖,避免云打包体积过大。

新增功能
消息表态支持重复表态和统计表态次数
支持单个用户对同一条消息进行多次相同类型的表态。查询消息表态时,可以获取此消息每种表情的累计表态次数,或者统计每个用户针对该消息每种表情的表态次数。
在单聊或群聊会话发送消息后,您可以调用 addMessageReaction 对任意消息进行表态。增加表态操作的结果将通过 ZIMMessageReactionAddedResult 返回。通过此 callback 可获取的用户信息有限,一般为 5 名用户,如需了解表态相关的更多用户信息,请参考更多功能。
示例代码(Android Java)
String reactionType = "key";
// 添加消息表态
zim.addMessageReaction(reactionType, message, new ZIMMessageReactionAddedCallback() {
@Override
public void onMessageReactionAdded(ZIMMessageReaction reaction, ZIMError error) {
if (error.code == ZIMErrorCode.SUCCESS){
// 操作成功
}else {
// 操作失败
}
}
});
// 2.28.0 开始支持:重复表态-计数
ZIMMessageReactionAddConfig config = new ZIMMessageReactionAddConfig();
// 表态计数增量值,要求正整数。
// 当高频表态时,开发者可聚合增量值,只调用一次该接口:比如短时间表态 10 次,可设置为 10,然后只调用一次(避免高频调用影响服务端性能)
config.increaseCount = 1;
zim.addMessageReaction(reactionType, message, config, new ZIMMessageReactionAddedCallback() {
@Override
public void onMessageReactionAdded(ZIMMessageReaction reaction, ZIMError error) {
if (error.code == ZIMErrorCode.SUCCESS){
// 操作成功
}else {
// 操作失败
}
}
});
新增清除 IndexedDB 缓存配置(Web端)
logout 接口新增 config.isClearDB 参数。用户需要登出时可以通过此配置清理 IndexedDB 缓存的数据,保证业务的安全性。
改进优化
- 优化删除会话接口
删除会话时,发起删除的客户端会触发会话变更的相关回调。示例代码:
// 删除某个会话,以下为 删除单聊会话
ZIMConversationDeleteConfig config = new ZIMConversationDeleteConfig();
config.isAlsoDeleteServerConversation = true;
zim.deleteConversation("CONV_ID", ZIMConversationType.GROUP, config, new ZIMConversationDeletedCallback() {
@Override
public void onConversationDeleted(ZIMError errorInfo) {
// 获取删除会话的结果
if(errorInfo.code == ZIMErrorCodeSuccess) {
// ......
} else {
// ......
}
}
});
- 优化消息置顶功能
消息置顶超过最大消息数时,支持设置是否覆盖当前置顶列表。
- 优化本地存储策略
小程序 SDK 本地存储策略适应小程序本地文件存储限制,不再支持本地消息存储。
- Android、iOS 本地依赖库改为线上依赖
uniapp(x) UTS 插件将 Native 本地依赖库改为线上依赖,避免云打包体积过大。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/im/65949.html