NIM SDK 更新日志

更新时间: 2024/03/12 14:20:55

近期重要更新

  • 支持接入第三方机器人,在一对一(P2P)和群组(高级群,Team)场景中与机器人进行互动。
  • 支持 Android 荣耀推送功能。
  • 新增动态查询连续完整的历史消息功能。

各端支持情况声明

NIM Flutter SDK 目前支持 Android 和 iOS。非移动端(包括 Windows、macOS 和 Web)仍为 Beta 版本,处于内测阶段,敬请期待。

[1.7.6] - 2024-03-08

  • Android NIM SDK 升级到 v9.15.0 版本。
  • iOS NIM SDK 升级到 v9.15.1 版本,以解决动态登录 token 的问题。

[1.7.5] - 2024-02-21

新增特性

  • 新增 pullHistoryById 接口(Android 和 iOS)。
  • 新增 makeNotifyContentProvider 回调(Android)。
  • 新增 makeTickerProvider 回调(Android)。
  • 新增 makeRevokeMsgTipProvider 回调(Android)。

[1.7.4] - 2024-01-25

新增特性

  • 新增 convertMessageToJson 接口(Android 和 iOS),用于将 IMMessage 对象转换成 JSON 格式的字符串。
  • 新增 convertJsonToMessage 接口(Android 和 iOS),用于将 JSON 格式的字符串转换成 IMMessage 对象。
  • 新增 getCurrentAccount 接口(Android 和 iOS),获取当前用户的 IM 账号。
  • 新增 onMessagesDelete 回调(Android 和 iOS),用于多端同步消息删除回调。
  • 在自定义系统通知对象 CustomNotification 中新增 sendToOnlineUserOnly 属性(Android 和 iOS),表示发送自定义消息时只发送给在线用户。
  • 新增 allMessagesReadForIOS 回调(iOS),用于 iOS 所有消息都被已读时的回调。

修复

  • 修复 iOS 端信令 call 方法中 offline 无效的问题。
  • 修复 iOS 端收到 web 发送的消息时 senderClientType 错误的问题。

[1.7.3] - 2023-11-08

修复

  • 修复 iOS 端本地没有用户信息时,调用 getUserInfo 方法报错的问题。
  • 修复 iOS 端加入群组未触发回调的问题。

依赖更新

  • 将依赖的 Android NIMSDK 升级至 9.13.1 版本。
  • 将依赖的 iOS NIMSDK 升级至 9.13.1 版本。
  • 将依赖的 yunxin_alog 升级至 2.0.0 版本。

[1.7.2] - 2023-10-13

修复

修复 iOS 端 checkLocalAntiSpam 方法返回 content 错误的问题。

依赖更新

将依赖的 Android NIMSDK 升级至 9.13.0 版本。

[1.7.1] - 2023-08-10

修复 iOS 端收到自定义消息时 SessionId 错误的问题。

[1.7.0] - 2023-07-21

新增特性

  • 支持接入第三方机器人,在一对一(P2P)和群组(高级群,Team)场景中与机器人进行互动。
  • 支持 Android 荣耀推送功能。
  • 新增动态查询连续完整的历史消息功能。
  • 新增群组成员移除和变更的回调。
  • 新增 iOS 角标未读数回调。
  • 支持搜索和删除缓存资源功能。
  • 优化聊天室登录的内部逻辑,与原生端保持一致。

API 变更

API
API 说明
onTeamMemberUpdate 新增群组成员信息更新的回调
onTeamMemberRemove 新增移除群组成员的回调
registerBadgeCount 新增 iOS 角标未读数的回调
getMessagesDynamically 新增动态查询连续完整的历史消息接口
searchResourceFiles 新增搜索缓存的文件资源接口
removeResourceFiles 新增删除缓存的文件资源接口
NIMMessage 消息体中新增机器人信息字段(robotInfo),用于实现机器人消息功能

修复

修复 iOS 平台中事件发布状态变更(eventSubscribeStream)异常的问题。

依赖更新

nim_core_platform_interface 升级至 1.7.0。

[1.6.2] - 2023-06-15

将依赖的 NIMSDK 升级至 9.11.0 版本。

[1.6.0] - 2023-04-24

新增特性

  • 新增游客功能,以游客身份进入服务器,可查询部分信息和接收消息,也可接收部分系统通知。

  • 新增消息正在输入功能,支持显示频道消息正在输入。

  • SDK 支持查询指定频道中@当前用户的未读消息,同时也支持批量查询消息是否@当前用户。具体请参见查询@我的消息

  • 新增 “圈组用户资料复用 IM 用户资料” 的能力。

    • 如果某用户未配置自己的服务器成员信息,该用户的初始服务器成员信息将直接复用对应的 IM 用户资料(目前仅支持复用昵称和头像)。

    • 如果某用户在未配置自己的服务器成员信息的情况下修改了自己的 IM 用户资料(昵称或头像),系统通知(通知类型my_member_info_update)将触发,通知该用户需要在哪些服务器重新获取自己的资料。

API 新增

API
API 说明
getMentionedMeMessages 查询指定频道中@当前用户的未读消息
areMentionedMeMessages 批量查询消息是否@当前用户
QChatServerService#enterAsVisitor 以游客身份进入服务器
QChatServerService#leaveAsVisitor 以游客身份离开服务器
QChatChannelService#subscribeAsVisitor 以游客身份订阅频道
QChatServerService#subscribeAsVisitor 以游客身份订阅服务器
onReceiveTypingEvent 监听正在输入事件
sendTypingEvent 发送正在输入事件
checkpermissions 查询自己是否拥有某些权限

API 变更

API
API 说明 变更说明
createChannel 创建频道 新增参数visitorMode,用于设置频道是否对游客可见
updateChannel 修改频道信息 新增参数visitorMode,用于设置频道是否对游客可见

数据结构变更

  • 圈组的系统通知类型QChatSystemNotificationType中新增枚举my_member_info_update,表示修改 IM 用户资料触发的圈组服务器成员信息的联动修改。该系统通知的具体触发条件、接收者和接收条件,请参见圈组系统通知概述中对USER_INFO_UPDATE(35)的说明。

  • 圈组系统通知的投递对象类型QChatSystemMessageToType新增枚举值accids,表示发送给指定的用户。

  • QChatUnreadInfo 圈组频道未读数类新增 ackTimeTaglastMsgTimetime 属性。

依赖更新

  • NIMSDK 升级至 9.10.0 版本。
  • nim_core_platform_interface 升级至 1.6.0。

[1.5.0] - 2023-03-31

新增特性

  • Android 和 iOS 支持通过接口设置海外节点,具体请参考海外数据中心
  • Android 端支持自定义通知栏显示的标题,用户名和头像。
  • Android 和 iOS 端消息返回易盾反垃圾结果。

依赖更新

  • NIMSDK 升级至 9.8.0 版本。
  • nim_core_platform_interface 升级至 1.5.0。

问题修复

修复 iOS 端圈组重发消息 uuid 变化问题。

[1.4.8] - 2023-03-20

修复圈组的快捷评论信息异常为空的问题。

[1.4.6] - 2023-02-10

yunxin_alog 依赖升级到 v1.0.11。

[1.4.5] - 2023-02-08

API 变更

依赖更新

  • iOS:支持 NIM SDK v9.6.3 及以上版本。
  • nim_core_platform_interface 从 v1.4.2 升级至 v1.4.3。
  • nim_core_windows 从 v1.0.6 升级至 v1.0.7。
  • nim_core_macos 从 v1.0.6 升级至 v1.0.7。

问题修复

iOS、Android 和 PC 已知问题修复。

[1.4.4] - 2023-01-06

API 变更

NOSService类的download方法,path参数从可选变为必传

问题修复

修复MessageServiceTeamServiceSuperTeamServiceChatroomService中部分接口的已知问题。

[1.4.3] - 2022-12-26

修复 iOS 端的圈组自定义消息的回调类型异常。

[1.4.2] - 2022-12-16

修复 iOS 端的如下已知问题:

  • 修复“标记指定类型通知为已读”接口resetSystemMessageUnreadCountByType的调用异常问题。
  • 修复调用“创建聊天室自定义消息”接口createChatRoomCustomMessage时,传入attachment不生效的问题。
  • 修复“删除指定类型的系统通知”接口clearSystemMessagesByType的调用异常问题。

[1.4.1] - 2022-12-13

依赖更新

  • dart 版本要求更新至 v2.17.0 及以上。
  • ffi 升级至 v2.0.0。
  • nim_core_platform_interface从 v1.4.0 升级至 v1.4.1。
  • nim_core_web 从 v1.0.1 升级至 v1.0.2。

问题修复

  • 修复 iOS 端的如下已知问题:

  • 修复其他已知问题。

[1.4.0] - 2022-11-24

当前版本的圈组模块,Android 和 iOS 存在少量的错误码、接口返回值和接口使用逻辑不一致的情况,具体请参见已知问题

新增特性

圈组模块新增特性

序号
新增特性
特性描述
相关文档
1 成员封禁管理 封禁、解封服务器成员,查询被封禁的成员。 成员封禁管理
2 服务器未读数管理 获取服务器所有频道的消息未读总数,并可按需清零 服务器未读数管理
3 频道黑白名单 通过频道黑白名单管控频道对服务器成员是否可见 频道黑白名单
4 用户定制权限 为频道成员专门定制权限,管控其在频道维度的操作 用户定制权限
5 查询自己拥有的权限 查询自己是否拥有某个权限 查询自己的权限
6 会话消息回复(Thread) 引用接收到的某一条消息进行针对性的回复 会话消息回复(Thread)
7 快捷评论 对某条消息进行快捷评论,例如添加表情评论 圈组快捷评论
8 圈组消息缓存 获取和清空消息缓存 圈组消息缓存
9 搜索消息 按照关键字和消息发送者等搜索当前用户所在服务器下的全部频道或单频道的消息 圈组消息搜索
10 获取频道最后一条消息 获取多个频道的最后一条消息 获取频道最后一条消息
11 圈组离线推送
  • 多维度(设备、圈组服务器和频道)配置需要离线推送的消息类型(按消息优先级区分)
  • 推送免打扰、是否展示推送文案详情等其他配置
圈组离线推送

IM 消息新增特性

序号
新增特性
特性描述
相关文档
1 插入本地消息 新增saveMessageToLocalEx方法,用于插入本地消息,且可设置消息的时间戳仅 Android 和 iOS 支持 插入本地消息

新增 API

QChatChannelService 新增 API

API
API 说明
updateChannelBlackWhiteRoles 更新频道黑白名单身份组
getChannelBlackWhiteRolesByPage 分页查询频道黑白名单身份组列表
getExistingChannelBlackWhiteRoles 批量查询频道黑白名单身份组列表
updateChannelBlackWhiteMembers 更新频道黑白名单成员
getChannelBlackWhiteMembersByPage 分页查询频道黑白名单成员列表
getExistingChannelBlackWhiteMembers 批量查询频道黑白名单成员列表
updateUserChannelPushConfig 更新某个频道的推送配置
getUserChannelPushConfigs 获取多个频道的推送配置列表

QChatMessageService 新增 API

API
API 说明
replyMessage 引用一条消息进行回复
getReferMessages 查询 Thread 中某条消息的父消息和根消息
getThreadMessages 根据某个 Thread 中的任意一条消息分页查询该 Thread 的消息列表
getMessageThreadInfos 批量查询某个频道下的多个 Thread 的根消息的 meta 信息
addQuickComment 对某条消息添加快捷评论
removeQuickComment 移除快捷评论
getQuickComments 查询快捷评论列表
getMessageCache 获取消息缓存(异步)
clearMessageCache 清除消息缓存
getLastMessageOfChannels 获取最多 20 个频道的最后一条消息
searchMsgByPage 根据关键字和消息发送者搜索消息

QChatRoleService 新增 API

API
API 说明
addMemberRole 创建用户定制权限(注:用户定制权限中包含多个权限项)
removeMemberRole 移除用户定制权限
updateMemberRole 修改用户定制权限
getMemberRoles 分页查询用户定制权限列表
getExistingAccidsOfMemberRoles 批量查询用户是否拥有定制权限
checkPermission 查询自己是否拥有某个权限项

QChatServerService 新增 API

API
API 说明
updateServerMemberInfo 修改其他服务器成员的成员信息
banServerMember 封禁服务器成员
unbanServerMember 解封服务器成员
getBannedServerMembersByPage 分页查询被封禁的服务器成员列表
updateUserServerPushConfig 更新服务器的推送配置
getUserServerPushConfigs 获取多个服务器的推送配置列表
getServerMembersByPage 分页查询服务器成员列表
markRead 清空服务器所有频道的消息未读数
subscribeAllChannel 一次性订阅服务器下最多 200 个频道

QChatObserver 新增 API

API
API 说明
serverUnreadInfoChanged 注册或注销“服务器未读通知接收”事件流

MessageService 新增 API

API
API 说明
saveMessageToLocalEx 保存消息到本地,可设置时间戳仅 Android 和 iOS 支持

[1.3.3] - 2022-11-22

修复已知问题:

  • iOS:修复第一次查询消息列表时异常报错的问题。
  • Web:发送多媒体消息(包括图片、音频、视频和文件)接口增加base64字段,解决消息发送异常的问题。

[1.3.2] - 2022-11-17

修复 iOS 圈组的查询历史消息接口(getMessageHistory)异常。

[1.3.1] - 2022-11-14

修复 iOS 已知问题,包括:

  • 修复构建聊天室消息异常报错的问题。
  • 修复发送消息时附件异常报错的问题。
  • 修复保存本地消息时,fromAccount参数异常报错的问题。

[1.3.0] - 2022-11-03

新增模块

网易云信即时通讯服务全新能力“圈组”发布(当前版本仅支持 Android 和 iOS)。相关功能介绍和集成指南请分别参见圈组功能实现圈组消息收发

当前版本,可能出现 Android 和 iOS 对于圈组内相同问题或异常操作的报错不一致的情况,具体请参见已知问题。强烈建议不要针对错误码进行应用上层的逻辑开发。

依赖更新

  • 兼容的 NIM iOS SDK 版本更新至 V9.6.3
  • 兼容的 NIM Android SDK 版本更新至 V9.6.3
  • nim_core_platform_interface 从 V1.0.3 升级至 V1.3.0
  • nim_core_windows 从 V1.0.3 升级至 V1.0.4
  • nim_core_macos 从 V1.0.3 升级至 V1.0.4

问题修复

  • 修复 MacOS 和 Windows 偶现的群会话 ID (sessionId)异常报错的问题。
  • 修复 macOS 和 Windows 偶现的调用群组禁言接口(muteTeam)异常报错的问题。

Android 第三方推送兼容版本

第三方推送 版本
华为 6.5.0.300
小米 5.1.0
OPPO 3.1.0
VIVO 3.0.0.4_484
魅族 4.1.0
FCM firebase-bom:28.4.2,具体版本:
  • firebase-messaging:23.0.0
  • firebase-analytics: 20.0.0

[1.2.1] - 2022-10-13

依赖更新

更新了 iOS 的 NIM SDK,将其版本从 v9.6.0 升级至 v9.6.1。

[1.2.0] - 2022-09-30

v1.2.1 版本 Flutter SDK 更新了 v1.2.0 版本中可能导致线上崩溃的 iOS 的 NIM SDK 版本。如果您目前使用的是 v1.2.0 版本的 Flutter SDK,强烈建议您升级至 v 1.2.1。

新增特性

增加信令功能(Android、iOS)。

API 新增

新增的信令相关 API 都挂载在 AvSignallingService模块。

API 说明
createChannel 创建信令频道
closeChannel 关闭信令频道
joinChannel 加入信令频道
leaveChannel 离开信令频道
invite 邀请他人加入频道
cancelInvite 取消邀请
rejectInvite 拒绝邀请
acceptInvite 接收邀请
sendControl 发送自定义命令
call 直接呼叫,用于用户新开一个频道并邀请对方加入频道
queryChannelInfo 根据频道名称查询频道信息
onlineNotification 在线通知事件回调
offlineNotification 离线通知事件回调
onMemberUpdateNotification 频道成员更新事件回调
otherClientInviteAckNotification 多端同步,其他端响应(接收/拒绝)邀请事件回调,当其他端响应了邀请时触发
syncChannelListNotification 同步未退出频道列表事件回调 ,在用户登录后sdk会去服务器获取当前还未退出的频道列表

修复

修复 iOS 初始化问题。

依赖更新

  • nim_core_web 版本从 v1.0.0 升级至 v1.0.1。
  • nim_core_platform_interface 版本从 v1.0.2 升级至 v1.0.3。
  • iOS NIM SDK 从 v8.11.0 升级至 v9.6.0。

[1.1.0] - 2022-9-23

1.1.0 版本开始兼容 Web,Web 端集成说明请参见集成 SDK

  • 部分接口和事件暂未支持,包括:

    • AudioService类的所有接口和事件。
    • EventSubscribeService类的observeEventChanged事件。
    • SettingsService类中除enableMobilePushWhenPCOnlineisMobilePushEnabledWhenPCOnline以外的所有方法。
    • MessageService类中的cancelUploadAttachmentqueryReplyCountInThreadTalkBlockqueryTotalUnreadCountcheckLocalAntiSpam
    • MessageService类中的onAttachmentProgress事件。
  • 接口变更:

    • sendMessage接口的NIMFileAttachment中新增通用的可选参数base64,目前用于 Web 传递文件信息(Web 端发送文件必传)。
    • searchCloudMessageHistory接口新增otherAccid(Web 端必传),表示聊天对象的 IM 账号(accid)。
    • ackAddFriend接口新增参数idServer(Web 端必传),表示接收到的好友申请系统通知的 ID。

[1.0.11] - 2022-9-15

iOS:

  • 修复消息状态问题。
  • 兼容的 iOS SDK 更新到 v8.11.0。

[1.0.10] - 2022-9-8

功能新增

支持 iOS 模拟器。

API 变更

  • 新增:

    • MessageService中新增queryRoamMsgHasMoreTime方法,用于获取是否有更多漫游消息标记的时间戳。
    • MessageService中新增updateRoamMsgHasMoreTag方法,用于更新是否有更多漫游消息的标记。
    • TeamService中新增rejectApply方法,用于拒绝入群申请。
  • 变更

    • UserService.onMuteListChanged返回类型变更为NIMMuteListChangedNotify
    • MessageService.onSessionDelete返回类型变更为可空。

依赖更新

  • nim_core_platform_interface 从 v1.0.0 更新至 v1.0.1。
  • Android NIM SDK 从 v8.11.12 更新至 v8.11.13。

问题修复

修复已知问题。

[1.0.9] - 2022-9-2

问题修复

  • iOS:修复无法获取经纬度的问题。

依赖更新

  • nim_core_macos 版本从 v1.0.0 升级至 v1.0.2。
  • nim_core_windows版本从 v1.0.0 升级至 v1.0.2。

[1.0.8] - 2022-8-29

iOS:修复removeManagers方法的参数异常问题。

[1.0.7] - 2022-8-23

iOS:

  • 修复获取置顶信息列表数据为空的问题。
  • 修复fetchUserInfoList方法强制解包导致的崩溃问题。
  • 修复LastMessage文本展示为空问题。

[1.0.6] - 2022-8-18

Android:

  • TeamService中新增updateMyMemberExtension方法。
  • 修复超大群的sendMessage方法调用异常。

[1.0.5] - 2022-8-17

iOS:修复getUserinfoext字段信息丢失的问题。

[1.0.4] - 2022-8-9

Android:修复初始化状态异常。

[1.0.3] - 2022-7-26

Android:修复多通道(Flutter Method Channel)异常。

[1.0.2] - 2022-7-22

iOS:修复消息附件丢失的问题。

[1.0.1] - 2022-7-20

补充必要日志。

[1.0.0] - 2022-7-13

Flutter SDK 正式发布,首个版本号为 1.0.0,支持 Android、iOS、Windows、Mac。

新增

  • 新增 MessageService.clearAllSessionUnreadCount 接口,用于清除所有会话的未读计数。
  • 新增超大群接口。
  • TeamService中新增 declineInvite。(Android、Macos、Windows)
  • 新增自动登录失败 417 错误码回调。(iOS)

修复

  • 修复转换 DirCacheFileType时丢失 THUMB 问题。(Android)
  • 修复 fromNickname 为空问题。(iOS)
  • 修复音频消息持续问题。(iOS)
  • 修复 searchAllMessage 接口问题。(Android)
  • 适配 Flutter 3.0。
  • 修复 TeamService.muteTeam 接口调用失败问题。
  • 修复 AudioService 接口问题。
  • 修复 TeamService#updateTeamFields 方法调用错误问题。
  • 修复 iOS 图片消息 size 字段解析错误问题。
  • 修复编译错误问题。

[1.0.0-rc.15] - 2021-11-09

SDK Beta 版本发布,版本号为 1.0.0-rc.15,支持 Android、iOS、Windows、Mac。

此文档是否对你有帮助?
有帮助
去反馈
  • 近期重要更新
  • 各端支持情况声明
  • [1.7.6] - 2024-03-08
  • [1.7.5] - 2024-02-21
  • 新增特性
  • [1.7.4] - 2024-01-25
  • 新增特性
  • 修复
  • [1.7.3] - 2023-11-08
  • 修复
  • 依赖更新
  • [1.7.2] - 2023-10-13
  • 修复
  • 依赖更新
  • [1.7.1] - 2023-08-10
  • [1.7.0] - 2023-07-21
  • 新增特性
  • API 变更
  • 修复
  • 依赖更新
  • [1.6.2] - 2023-06-15
  • [1.6.0] - 2023-04-24
  • 新增特性
  • API 新增
  • API 变更
  • 数据结构变更
  • 依赖更新
  • [1.5.0] - 2023-03-31
  • 新增特性
  • 依赖更新
  • 问题修复
  • [1.4.8] - 2023-03-20
  • [1.4.6] - 2023-02-10
  • [1.4.5] - 2023-02-08
  • API 变更
  • 依赖更新
  • 问题修复
  • [1.4.4] - 2023-01-06
  • API 变更
  • 问题修复
  • [1.4.3] - 2022-12-26
  • [1.4.2] - 2022-12-16
  • [1.4.1] - 2022-12-13
  • 依赖更新
  • 问题修复
  • [1.4.0] - 2022-11-24
  • 新增特性
  • 圈组模块新增特性
  • IM 消息新增特性
  • 新增 API
  • QChatChannelService 新增 API
  • QChatMessageService 新增 API
  • QChatRoleService 新增 API
  • QChatServerService 新增 API
  • QChatObserver 新增 API
  • MessageService 新增 API
  • [1.3.3] - 2022-11-22
  • [1.3.2] - 2022-11-17
  • [1.3.1] - 2022-11-14
  • [1.3.0] - 2022-11-03
  • 新增模块
  • 依赖更新
  • 问题修复
  • Android 第三方推送兼容版本
  • [1.2.1] - 2022-10-13
  • [1.2.0] - 2022-09-30
  • 新增特性
  • API 新增
  • 修复
  • 依赖更新
  • [1.1.0] - 2022-9-23
  • [1.0.11] - 2022-9-15
  • [1.0.10] - 2022-9-8
  • 功能新增
  • API 变更
  • 依赖更新
  • 问题修复
  • [1.0.9] - 2022-9-2
  • 问题修复
  • 依赖更新
  • [1.0.8] - 2022-8-29
  • [1.0.7] - 2022-8-23
  • [1.0.6] - 2022-8-18
  • [1.0.5] - 2022-8-17
  • [1.0.4] - 2022-8-9
  • [1.0.3] - 2022-7-26
  • [1.0.2] - 2022-7-22
  • [1.0.1] - 2022-7-20
  • [1.0.0] - 2022-7-13
  • 新增
  • 修复
  • [1.0.0-rc.15] - 2021-11-09