HarmonyOS IM SDK 更新日志
大约 11 分钟
HarmonyOS 集成文档
HarmonyOS IM SDK 更新日志
版本 V1.5.1 Dev 2025-1-24(开发版)
修复
- 修复设置
ChatOptions#setCustomOSPlatform
不生效的问题。 - 修复未拉取好友时收到好友事件,导致好友列表不能更新的问题。
版本 V1.5.0 Dev 2025-1-10(开发版)
新增特性
用户加入聊天室可获取如下信息:
- 聊天室当前人数:新增
Chatroom#memberCount
方法获取。有用户加入或离开聊天室时,当前聊天室人数会更新。 - 聊天室全体禁言状态:通过
Chatroom#isAllMemberMuted
方法获取。该状态值在收到全体禁言状态变更时会更新。 - 聊天室创建时间戳:新增
Chatroom#createTimestamp
方法获取。 - 当前用户是否在聊天室白名单中:新增
Chatroom#isInWhitelist
方法获取。 - 当前用户被禁言截止时间戳:新增
Chatroom#muteExpireTimestamp
方法获取。
- 聊天室当前人数:新增
ChatOptions#setCustomOSPlatform
和ChatOptions#getCustomDeviceName
,用于设置和获取当前设备自定义平台代号;ChatOptions#setCustomDeviceName
和ChatOptions#getCustomDeviceName
,用于设置和获取当前设备自定义设备名称。
新增
ChatManager#getDBMsgsCount
方法,用于获取数据库中的消息总数。新增两个错误码:
ChatError#GROUP_USER_IN_BLOCKLIST
(613):该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。ChatError#CHATROOM_USER_IN_BLOCKLIST
(707):该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。
聊天室成员禁言回调:
- 新增聊天室禁言回调 ChatroomListener#onMuteMapAdded,参数 Map 的 key 表示被禁言的用户 ID ,value 表示禁言到期时间戳;
- 废弃原来的回调
ChatroomListener#onMutelistAdded
。
新增拉取服务器漫游消息时会读取服务端的消息已读和送达状态。该功能只适用于单聊消息,默认关闭,如果需要,请联系环信商务开通。
优化
- 废弃
ChatOptions
传入字符串的构造函数,新增传入 AppParam 的构造方法。 - 发送前回调时修改的消息扩展字段,会同步到发送方。
- 调用删除服务端会话 API,成功后会删除本地会话。之前版本调用该接口可设置删除会话的本地消息,不能删除本地会话。
- 群组和聊天室操作的默认错误码提示由
GROUP_MEMBERS_FULL
(604)和CHATROOM_MEMBERS_FULL
(704)调整为GROUP_PERMISSION_DENIED
(603)和CHATROOM_PERMISSION_DENIED
(703)。例如,群组普通成员设置群组管理员时,由于缺乏权限,会提示 603 错误。 - 优化部分数据库操作。
修复
- 修复置顶的单聊消息被撤回后,该消息未能及时地从置顶消息缓存(
Conversation#getPinnedMessages
)中移除的问题。 - 修复调用 PushManager#getSilentModeForConversations 方法获取会话的免打扰状态失败的问题。
- 修复极端情况下因网络异常导致的 Crash。
- 修复多次设置
ChatMessage#setMessageStatusCallback
时导致崩溃的问题。
版本 V1.4.2 Dev 2024-11-04(开发版)
优化
- 优化 ChatManager#fetchHistoryMessages 中自动下载缩略图的逻辑。
修复
- 修复消息扩展属性中不支持其他平台整型、浮点型等数据类型的问题。
版本 V1.4.1 Dev 2024-10-28(开发版)
新增特性
- 基于 1.4.0 版本,在 DevEco Studio NEXT Release(5.0.3.900) 下重新编译。
优化
- 优化分片上传逻辑。
修复
- 修复 SDK 内部监听网络变化时偶现崩溃的问题。
版本 V1.4.0 Dev 2024-09-30(开发版)
新增特性
- 新增置顶消息功能。
- 新增根据多个消息类型搜索本地消息功能。
ChatManager#searchMessagesFromDB
:根据单个或多个消息类型,搜索本地数据库中所有会话的消息。Conversation#searchMessagesByType
:根据单个或多个消息类型,搜索本地数据库中单个会话的消息。
- 新增
ChatOptions#setEnableTLSConnection
选项,支持私有部署时设置是否开启 TLS 连接。 - 支持会话推送通知方式的本地存储:
- 新增
PushManager#syncConversationsSilentModeFromServer
方法,支持从服务器同步所有会话的推送通知方式设置。 - 新增
Conversation#pushRemindType
属性,用于获取本地存储会话的推送通知方式。 - 若用户在一台设备上变更会话的推送通知方式,其他设备会收到
MultiDeviceListener#onConversationEvent
事件。
- 新增
- 新增
Conversation#getMsgCountInRange
方法,用于获取 SDK 本地数据库中会话某个时间段内的全部消息数。 - 新增设备登录时允许携带自定义信息,并将其传递给被踢的设备:
ChatOptions#setLoginCustomExt
:设置设备的扩展信息;ChatOptions#getLoginCustomExt
:获取设备的扩展信息。ConnectionListener#onLogout(errorCode: number, info: LoginExtInfo)
:多设备登录场景下,若当前设备被新登录设备踢下线,被踢设备收到的事件中会携带新设备的扩展信息。
- 新增从服务器拉取离线消息的开始和结束的事件回调:
ConnectionListener#onOfflineMessageSyncStart
和ConnectionListener#onOfflineMessageSyncFinish
。 - 新增
GroupManager#checkIfInGroupMutelist
接口,可以查看当前用户是否在群组禁言列表中。 - 新增 错误码 213 ChatError#USER_BIND_ANOTHER_DEVICE,用于当用户达到登录设备上线时,当前设备无法登录的场景。
- 在撤回消息的
ChatMessageListener#onMessageRecalled
事件中返回被撤回的消息所属的会话 ID。 - 支持加入聊天室时携带扩展信息,并指定是否退出之前加入的全部聊天室:
- 新增
ChatroomManager#joinChatroom(roomId: string, leaveOtherRooms?: boolean, ext?: string)
方法,支持设置加入聊天室时携带的扩展信息,并指定是否退出所有其他聊天室。 - 新增
ChatroomListener#onMemberJoined(roomId: string, userId: string, ext?: string)
回调,当用户加入聊天室携带了扩展信息时,聊天室内其他人可以在用户加入聊天室的回调中,获取到扩展信息。
- 新增
- 支持 AUT 协议,优化弱网环境下的服务连接成功率。
- 支持文件分片上传。
- 支持从服务端单向删除聊天室漫游消息。
优化
- 支持 x86_64 架构。
- 从服务端拉取群组时,不再先清除本地群组,而是将拉取的群组与本地对比,将本地现有群组进行更新,将新增部分在本地插入。若要清除本地群组信息,可以调用
GroupManager#clearAllLocalGroups
方法。 - 构建附件消息时,SDK 内部会读取文件长度,并设置给
fileLength
参数。 - 设置和获取用户属性的接口,包括设置当前用户的属性、获取单个或多个用户的用户属性和获取指定用户的指定用户属性,超过调用频率限制时,会上报错误码
4
(ChatError#EXCEED_SERVICE_LIMIT
)。
版本 V1.3.0 Dev 2024-09-10(开发版)
新增特性
- 新增群成员自定义属性功能:
setMemberAttributes
:设置群成员自定义属性。fetchMemberAttributes
:获取单个群成员的所有自定义属性。fetchMembersAttributes
:根据属性 key 获取多个群成员的自定义属性。GroupListener#onGroupMemberAttributeChanged
:群组成员自定义属性变化的回调。
- 新增设置推送通知的显示内容 、推送通知方式和免打扰模式功能。
- 新增在线状态订阅功能。
- 新增聊天室自定义属性功能。
fetchChatroomAttributes
:获取聊天室自定义属性。setChatroomAttributes
:设置聊天室自定义属性。removeChatroomAttributes
:删除聊天室自定义属性。ChatroomListener#onAttributesUpdate
:聊天室自定义属性有更新。ChatroomListener#onAttributesRemoved
:聊天室自定义属性被移除。
优化
- 适配在 HarmonyOS NEXT 应用中使用 HarmonyOS APK 的 SDK 加密数据库。
修复
- 修复 CMD 消息不能设置 action 的问题;
- 修复消息不能设置 JSON 格式数据的问题;
- 新增
setJsonAttribute
方法。
- 新增
- 修复部分回调存在跨线程调用 JS 对象的问题;
- 修复枚举
LEAVE_REASON
没有导出的问题; - 修复发送图片时获取图片宽高失败的问题。
注意:SDK V1.3.0 采用官方推荐的字节码构建方式,使用之后版本需要 DevEco Studio 升级到 5.0.3.502 及以上,并需要工程支持该构建模式。详见快速开始。
版本 V1.2.0 Dev 2024-07-11(开发版)
新增特性
- 新增
getAllConversationsBySort
方法实现从本地获取排序后的会话列表。 - 新增表情回复 Reaction 功能:
addReaction
:在消息上添加 Reaction。removeReaction
:删除消息的 Reaction。fetchReactions
:获取消息的 Reaction 列表。fetchReactionDetail
:获取 Reaction 详情。ChatMessage.getReactions()
:从ChatMessage
对象获取 Reaction 列表。
- 新增会话标记功能:
ChatManager#addConversationMark
:标记会话。ChatManager#removeConversationMark
:取消标记会话。ChatManager#fetchConversationsFromServerWithFilter
:根据会话标记从服务器分页查询会话列表。Conversation#marks
:获取本地单个会话的所有标记。onConversationEvent#MultiDevicesEvent.CONVERSATION_MARK_UPDATE
:多设备场景下的会话标记事件。当前用户在一台登录设备上更新了会话标记,包括添加和移除会话标记,其他登录设备会收到该事件。
- 新增会话置顶功能。
ChatManager#pinConversation
:设置置顶或取消置顶会话。fetchPinnedConversationsFromServer
:从服务端分页获取置顶会话列表。
- 新增用户属性功能。
UserInfoManager#updateUserInfo
:设置和修改当前用户自己的属性信息。UserInfoManager#fetchUserInfoById
:获取指定用户的属性信息。
版本 V1.1.0 Dev 2024-07-01(开发版)
新增特性
- 新增修改消息功能。
- 新增自定义消息功能。
- 新增合并转发消息功能。
- 支持 HarmonyOS 推送能力。
优化
ChatClient#init
方法中新增Context
参数。- 修改 SDK 文件路径到应用级的应用文件路径下。
版本 V1.0.0 Dev 2024-06-7(开发版)
新增特性
环信即时通讯 HarmonyOS SDK 支持单聊、群组聊天和聊天室聊天场景,实现了以下特性: