NIM SDK 更新日志
更新时间: 2023/04/24 17:02:51
近期重要更新
各端支持情况声明
NIM Flutter SDK 目前支持 Android 和 iOS。非移动端(包括 Windows、macOS 和 Web)仍为 Beta 版本,处于内测阶段,敬请期待。
[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
圈组频道未读数类新增ackTimeTag
、lastMsgTime
和time
属性。
依赖更新
- 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 变更
- 清除本地消息记录接口
clearChattingHistory
:新增ignore
参数。 - 语音转文本接口
voiceToText
:新增mimeType
和sampleRate
参数。
依赖更新
- 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
参数从可选变为必传。
问题修复
修复MessageService
、TeamService
、SuperTeamService
和ChatroomService
中部分接口的已知问题。
[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 端的如下已知问题:
- 修复系统通知未读数查询接口
querySystemMessageUnreadCountByType
的调用异常问题。 - 修复调用自定义消息创建接口
createCustomMessage
时,传content
参数未生效的问题。 - 修复调用群组创建接口
createTeam
时,传入扩展字段extension
未生效的问题。
- 修复系统通知未读数查询接口
-
修复其他已知问题。
[1.4.0] - 2022-11-24
当前版本的圈组模块,Andorid 和 iOS 存在少量的错误码、接口返回值和接口使用逻辑不一致的情况,具体请参见已知问题。
新增特性
圈组模块新增特性
序号 |
新增特性 |
特性描述 |
相关文档 |
---|---|---|---|
1 | 成员封禁管理 | 封禁、解封服务器成员,查询被封禁的成员。 | 成员封禁管理 |
2 | 服务器未读数管理 | 获取服务器所有频道的消息未读总数,并可按需清零 | 服务器未读数管理 |
3 | 频道黑白名单 | 通过频道黑白名单管控频道对服务器成员是否可见 | 频道黑白名单 |
4 | 用户定制权限 | 为频道成员专门定制权限,管控其在频道维度的操作 | 用户定制权限 |
5 | 查询自己拥有的权限 | 查询自己是否拥有某个权限 | 查询自己的权限 |
6 | 会话消息回复(Thread) | 引用接收到的某一条消息进行针对性的回复 | 会话消息回复(Thread) |
7 | 快捷评论 | 对某条消息进行快捷评论,例如添加表情评论 | 圈组快捷评论 |
8 | 圈组消息缓存 | 获取和清空消息缓存 | 圈组消息缓存 |
9 | 搜索消息 | 按照关键字和消息发送者等搜索当前用户所在服务器下的全部频道或单频道的消息 | 圈组消息搜索 |
10 | 获取频道最后一条消息 | 获取多个频道的最后一条消息 | 获取频道最后一条消息 |
11 | 圈组离线推送 |
|
圈组离线推送 |
IM 消息新增特性
序号 |
新增特性 |
特性描述 |
相关文档 |
---|---|---|---|
1 | 插入本地消息 | 新增saveMessageToLocalEx 方法,用于插入本地消息,且可设置消息的时间戳 |
插入本地消息 |
新增 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 |
保存消息到本地,可设置时间戳 |
[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.0nim_core_windows
从 V1.0.3 升级至 V1.0.4nim_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,具体版本:
|
[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
类中除enableMobilePushWhenPCOnline
和isMobilePushEnabledWhenPCOnline
以外的所有方法。MessageService
类中的cancelUploadAttachment
、queryReplyCountInThreadTalkBlock
、queryTotalUnreadCount
和checkLocalAntiSpam
。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:修复getUserinfo
的ext
字段信息丢失的问题。
[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。