React Native IM SDK 更新日志

小于 1 分钟

React-Native IM SDK 更新日志

v5.0.0 Dev 2026-10-14

本次为大版本升级,包含不兼容变更。自本版本起,React Native SDK 版本号与依赖的原生 SDK 版本号保持同步,iOS 和 Android 原生 SDK 均升级至 5.0.0。

本文重点说明功能和行为变化,具体的接口删除、重命名及替代方式请参见 React Native SDK 4.x 到 5.0.0 迁移指南。

重要变更

数据同步与本地数据访问

SDK 新增统一的数据同步机制。应用可配置登录后自动同步的数据类型,包括会话、好友和已加入群组,并通过统一的同步事件监听同步状态。列表数据的获取方式由主动调用历史服务端拉取接口,调整为读取同步后的本地数据。

数据库打开和服务端数据同步分别对应不同阶段,应用可按以下步骤处理:

  1. 配置同步范围:在初始化前,通过 ChatOptions#dataSyncType 配置登录后自动同步的数据类型,包括会话、好友和已加入群组,可通过按位或运算组合。未配置时沿用原生 SDK 的默认设置,建议显式配置。
  2. 读取本地数据:通过 ChatConnectEventListener#onDatabaseOpened 确认当前账号的本地数据库已成功打开(username 为当前用户 ID,且 errorCode === 0)后,即可读取本地数据,不必等待服务端同步完成,有助于加快冷启动时的首屏展示。
  3. 监听服务端数据同步:通过 ChatConnectEventListener#onDataSyncStart 和 ChatConnectEventListener#onDataSyncFinish 监听指定类型的数据同步开始和结束。回调中的 type 表示本次同步的数据类型。
  4. 读取本次同步后的最新数据:如需展示本次登录后从服务端同步的最新数据,应等待对应类型的 ChatConnectEventListener#onDataSyncFinish 回调成功(errorCode === 0)后,再读取本地会话、好友或已加入群组数据并刷新界面。

详见 数据同步文档。

群组配置模型重构

群组配置从单一样式枚举改为多个独立字段,建群后也可以按需更新指定配置。

  • ChatGroupConfigs 用于保存群组配置值,包含 isPublic、joinApprovalRequired、allowInvites、maxCount、inviteNeedConfirm 和 ext 等字段。
  • ChatGroupConfigsType 用于标记需要更新的配置项,支持按位或组合多个配置项。
  • 建群和群组配置更新统一使用新的配置模型,分别通过 ChatGroupManager#createGroupEx 和 ChatGroupManager#updateGroupConfigs 设置。

默认建群类型调整为私有群,且不允许普通成员邀请其他用户。升级时请显式配置,避免影响现有业务。

详见 创建群组 和 群组配置迁移说明。

消息已读回执与未读数管理

消息已读回执改为批量处理,单聊和群聊共用一套回执体系;清除会话未读数与发送消息已读回执分别处理。

  1. 消息已读回执
  • 支持批量发送已读回执,单聊和群聊统一处理。
  • 是否需要已读回执改为按消息控制,在发送前显示开启,默认不请求回执。
  • 单聊和群聊的消息已读回执统一通过 ChatMessageEventListener#onMessageReadReceipts 接收。
  • 群聊支持批量查询消息已读回执汇总,以及分页获取指定消息的已读成员详情;成员信息包含角色、入群时间等,方便展示成员详情。
  • 消息已读状态和群消息已读人数由 SDK 维护,应用不能再直接修改。

详见 消息已读回执文档。

  1. 会话未读数管理
  • 调整本地会话未读消息总数的统计规则,仅统计推送通知方式为“所有消息”(ChatPushRemindType.ALL)的普通单聊和群聊会话;不统计聊天室、消息话题,以及仅提醒提及消息或不提醒的会话(ChatPushRemindType.MENTION_ONLY 或 ChatPushRemindType.NONE)。
  • 清除指定会话或全部会话的本地未读数后,清理结果会同步至当前账号的其他设备,但不会向消息发送方发送消息已读回执。
  • 当其他设备清除会话未读数时,应用可通过多设备通知重新读取本地会话并刷新界面。

详见 会话未读数文档。

会话展示与批量管理

SDK 补充会话展示信息和批量删除会话能力:

  • 会话对象新增显示名称和头像信息,方便会话列表展示。
  • 支持批量删除本地会话,并可选择是否同时删除会话中的本地消息;不存在的会话 ID 会被忽略。
  • 补充 iOS 端当前账号在其他设备上更新群组信息的多设备事件通知,方便应用及时刷新群组展示信息。

详见 会话对象文档、删除会话、群消息已读回执详情 和 多设备登录。

优化

登录、鉴权与连接事件

  • 登录和设备管理统一使用 Token 鉴权,不再支持密码鉴权。
  • SDK 不再支持自动登录,应用应管理登录凭证,并在启动后主动发起 Token 登录。
  • 好友自动同步配置并入统一的数据同步配置。
  • 连接中断和账号被服务端强制下线等场景统一通过 onDisconnected 通知,应用应根据断开原因区分连接中断和登录状态失效。Token 过期仍通过 onTokenDidExpire 单独通知。登录状态与连接状态不同,不能仅根据是否连接到服务器判断用户是否已登录。

详见 登录、连接 和 好友数据同步 文档。

历史能力与接口整理

  • 客户端账号注册、消息举报、聊天室创建和解散等能力改由业务服务器处理。
  • 移除公开群列表拉取能力;会话、好友和已加入群组列表统一通过数据同步机制更新后读取本地数据。
  • 清理已废弃的消息查询、消息编辑、历史消息获取、群组详情获取及聊天室加入等接口,相关功能统一使用保留的推荐方式。
  • 群成员加入和退出通知调整为批量处理,并统一聊天室禁言名单变更的通知形式。

详见 迁移指南、群组管理 和 聊天室管理 文档。

推送配置与设备 Token

  • 推送配置调整为初始化配置与运行时设备 Token 绑定相分离,应用负责接入厂商推送服务并获取设备 Token。
  • Android 厂商推送的依赖、配置和初始化需在原生工程侧完成;向环信服务器绑定设备 Token 时,需提供对应厂商的推送凭据。
  • iOS 的 APNs 和 PushKit 推送证书名称在 SDK 初始化时设置,运行期间不可修改;普通推送和 VoIP 推送使用独立的证书与 Token,分别绑定。
  • iOS 端支持单独绑定和解绑 PushKit Token,无需登出即可解除绑定。

详见 上传推送证书 和 绑定推送 Token 文档。

平台与集成

  • React Native SDK 5.x 仅支持 React Native 新架构,升级前需确认宿主工程已启用新架构。
  • iOS 推荐使用 Swift Package Manager(SPM)集成,CocoaPods 继续支持,具体方式根据宿主工程配置选择。
  • 升级后需要重新安装依赖并编译 iOS 和 Android 原生工程,仅更新 JavaScript 包不能完成升级。

详见 集成文档 和 SDK 集成与版本要求。

修复

  • 修复 Android 本地关键字搜索未指定发送方时始终返回空结果的问题。
  • 修复 iOS 未读消息总数的统计问题,与 Android 的统计范围保持一致。
  • 修复部分群管理员变更、群组和聊天室全员禁言、iOS 入群申请被拒绝及消息撤回通知中的信息缺失问题。
  • 修复账号被服务端强制断开后,本地登录状态可能未及时清理的问题。
  • 修复 Android 切换账号登录时可能复用上一账号数据库缓存的问题。
  • 修复 Android 修改消息时可能出现的响应匹配异常,以及部分场景下群成员名片无法清空的问题。
  • 修复 Android 关闭附件 MD5 校验后,上传附件仍可能执行预校验的问题。
  • 修复 Android 网络传输、任务队列和数据库缓存中的若干并发安全问题。
  • 修复 iOS 发送附件消息未设置显示文件名时,附件上传可能受 2 MB 大小限制的问题,SDK 会自动使用本地文件名作为显示名。

相关功能详见 本地消息搜索、会话未读数、消息发送 和 迁移指南。

v1.21.0 2026-09-24

新增特性

  • 依赖的原生 SDK 升级:
    • iOS 升级至 4.25.0。
    • Android 升级至 4.25.1。
  • 默认情况下,本地会话列表不包含聊天室会话。如需包含聊天室会话,需在 SDK 初始化前将 ChatOptions.enableChatroomConversation 设置为 true。
  • 支持 分页获取本地会话列表,并可通过 ChatOptions.autoLoadConversations 控制登录成功后是否自动将全部本地会话加载到内存。
  • 支持 服务端消息搜索,可根据关键词组合、会话 ID、消息类型、时间范围及消息内容或扩展属性进行筛选。该功能需联系环信商务开通后方可使用,详见 开通说明。消息搜索默认不支持扩展字段 ext,如需支持该字段搜索,请联系环信商务。
  • iOS 支持在初始化时 配置 APNs 与 PushKit 推送证书名称,对应属性为 ChatOptions.apnsCertName 和 ChatOptions.pushKitCertName。
  • iOS 支持 绑定和解绑苹果 PushKit token,对应方法为 ChatClient.bindPushKitToken 和 ChatClient.unbindPushKitToken。其他平台调用这两个方法不会执行任何操作。
  • 支持 为消息配置回调路由标识,使消息可按指定路由触发发送前回调和发送后回调。目前,该功能仅面向国内 1 区和国内 2 区开放。

v1.18.0 2026-08-06

新增特性

v1.15.3 2026-07-07

优化

  • 统一可选参数语义:对齐 TypeScript 消息工厂方法与消息体构造函数的可选参数处理,使文件、图片、视频、语音和位置消息与原生 SDK 行为保持一致。
  • 修正字段类型:将 ChatPresence.lastTime、ChatPresence.expiryTime、ChatRoom.memberCount 和 ChatRoom.maxUsers 的类型由 string 调整为 number。
  • 更新 Android 原生 wrapper:改用 SDK 异步接口,并补充 deleteContact.keepConversation 和 addMembers.welcome 在 Android 平台的参数限制说明。
  • 升级 Yarn 版本:由 3.6.1 升级至 4.14.1。

修复

修复原生输入转换问题:解决 Android 和 iOS 平台的可选字段转换异常。现在仅在用户显式提供可选字段时才应用对应值,避免桥接层默认值覆盖用户输入。

v1.15.2 2026-06-02

  • 依赖的原生 SDK 升级:
    • Android 升级至 4.19.3
  • 修复没有设置缩略图导致发送失败的问题。

v1.15.0 2026-04-22

v1.14.0 2026-02-04

  • 依赖的原生 SDK 升级:
    • iOS 升级至 4.18.1
    • Android 升级至 4.18.1
  • 底层支持安全 DNS 解析 DoH,提高连通性。
  • 支持私有部署时设置 IPv6 格式的 REST 地址。

v1.13.0 2026-01-28

新增特性

  • 依赖的原生 SDK 升级:
    • iOS 升级至 4.17.1
    • Android 升级至 4.17.1
  • 长连接支持 WebSocket 协议。
  • ChatOptions 新增 API 支持 WebSocket 私有部署:
    • ChatOptions#webSocketServer:设置 WebSocket 服务器地址。
    • ChatOptions#webSocketPort:设置 WebSocket 服务器端口号。

修复

修复原生平台上的 bug。

v1.12.0 2025-11-19

  • 依赖的原生 SDK 升级:
    • iOS 升级至 4.16.2
    • Android 升级至 4.16.1

v1.11.5 2025-10-09

适配 Android 15 的 16 KB 页面大小。

v1.11.4 2025-9-15

  • 修复文件之间循环引用问题。

v1.11.3 2025-7-15

支持用户查看自己是否在聊天室禁言列表上。

v1.11.2 2025-6-15

修复 Android 平台搜索历史消息的数据转换问题。

v1.11.1 2025-5-10

修复 iOS 平台 会话类型的数据转换问题。

v1.11.0 2025-4-15

新增特性

  • 依赖的原生 SDK 升级:
    • iOS 升级至 4.15.1
    • Android 升级至 4.15.2

消息相关

群组相关

  • 支持 创建群组时设置群头像。新增创建群组接口 createGroupEx,作废原接口 createGroup。
  • 支持 修改群组头像。
  • 支持 获取群成员列表 时包括成员角色和入群时间。
  • 群组成员进出事件支持一次通知多个成员进出群组。调整前,SDK 会为每个加入/退出的成员单独回调一条事件。

优化

修改 Token 即将过期事件 ChatConnectEventListener#onTokenWillExpire 的触发时机。SDK 会在 Token 有效期达到 80% 时(之前版本为 50% )回调即将过期通知。

v1.8.2 2025-3-15

  • 修复使用 react-native 0.77、0.78、0.79 和 0.80 版本的应用集成 Chat SDK 无法编译通过的问题。

v1.8.1 2025-2-15

v1.8.0 2025-1-17

新增特性

用户加入聊天室后会收到如下信息,即调用 joinChatRoomEx 方法后的成功回调中会包含如下信息:

  1. 聊天室当前人数 ChatRoom#memberCount。
  2. 聊天室全体禁言状态 ChatRoom#isAllMemberMuted。
  3. 聊天室创建时间戳 ChatRoom#createTimestamp,新增属性。
  4. 当前用户是否在聊天室白名单中 ChatRoom#isInWhitelist。该属性为新增属性,成员收到白名单变更回调时更新。
  5. 当前用户被禁言截止时间戳 ChatRoom#muteExpireTimestamp。该属性为新增属性,成员收到禁言变更回调时更新。

v1.7.0 2024-12-5

新增特性

  • 依赖的原生 SDK 升级到版本:
    • iOS 升级至 4.11.0
    • Android 升级至 4.11.0
  • 更新服务器连接状态监听器 ChatConnectEventListener,新增 onOfflineMessageSyncStart 和 onOfflineMessageSyncFinish 事件,表示从服务器拉取离线消息的开始和结束。
  • 新增 ChatManager#getMessageCount 方法,用于获取数据库中的消息总数。

优化

  • 更新聊天室监听器 ChatRoomEventListener, 作废 onMuteListAdded,替换为 onMuteListAddedV2。
  • 更新消息监听器 ChatMessageEventListener, 移除作废的接口 onMessagesRecalled。

v1.6.1 2024-9-12

修复

  • 修复 Android 平台下编译报错找不到 CMakeLists.txt 的问题。

v1.6.0 2024-8-30

新增特性

优化

修复

原生平台进行了如下修复:

  • 修复服务端获取好友列表(包含好友备注)时,在好友列表无变化时,第二次请求获取不到数据的问题。
  • 修复特殊情况下附件发送失败,消息仍然成功发送的问题。
  • 修复拉取漫游消息时 nextkey 错误的问题。
  • 修复拉黑好友时缓存未及时更新的问题。
  • 修复退出登录再登录后推送可能不工作的问题。

v1.5.1 2024-7-2

修复

修复原生平台以下问题:

  • Android:修复部分场景下,用户升级数据库后,在同一个进程下登录新的用户,构建数据库表失败的问题。
  • iOS:从服务端拉取群组时,不再先清除本地群组,而是将拉取的群组与本地对比,将本地现有群组进行更新,将新增部分在本地插入。若要清除本地群组信息,可以调用 IEMGroupManager#cleanAllGroupsFromDB 方法。

v1.5.0 2024-6-2

新增特性

修复

原生平台修复以下问题:

  • 服务端获取好友列表(包含好友备注)时,在好友列表无变化时,第二次请求获取不到数据的问题。
  • 特殊情况下附件发送失败,消息仍然成功发送的问题。
  • 拉取漫游消息时 nextkey 错误的问题。

v1.4.0 2024-5-7

新增特性

  • 新增 ChatManager#deleteAllMessageAndConversation 方法,用于清空当前用户的聊天记录,包括消息和会话,同时可以选择是否清除服务端的聊天记录。
  • 新增根据搜索范围搜索消息:根据关键字搜索消息时,可以选择 ChatMessageSearchScope 中的搜索范围。
    • ChatMessageSearchScope:包含三个消息搜索范围,即搜索消息内容、只搜索消息扩展信息以及同时搜索消息内容以及扩展信息。
    • ChatManager#getMsgsWithKeyword:根据搜索范围搜索所有会话中的消息。
    • ChatManager#getConvMsgsWithKeyword:根据搜索范围搜索当前会话中的消息。
  • 支持会话标记功能。
    • ChatConversationFetchOptions 从服务器获取会话的选项,可以用来回去置顶会话或者是标记后的会话。
    • ChatManager#addRemoteAndLocalConversationsMark:标记会话。
    • ChatManager#deleteRemoteAndLocalConversationsMark:取消标记会话。
    • ChatManager#fetchConversationsByOptions:根据 ChatConversationFetchOptions 选项从服务器分页查询会话列表。
    • ChatConversation#marks:获取本地单个会话的所有标记。
    • ChatMultiDevicesEvent#CONVERSATION_UPDATE_MARK:多设备场景下的会话标记事件。当前用户在一台登录设备上更新了会话标记,包括添加和移除会话标记,其他登录设备会收到该事件。
  • 新增错误码 706,表示聊天室所有者不允许离开聊天室。若初始化时,ChatOptions#isChatRoomOwnerLeaveAllowed 参数设置为 false,聊天室所有者调用 leaveChatRoom 方法离开聊天室时会提示该错误。
  • 支持聊天室漫游消息。
  • 新增 ChatOptions#useReplacedMessageContents 开关。开启后,发送消息时如果被内容审核进行了内容替换,发送方可以收到替换后的内容。
  • 新增置顶消息功能。
    • 新增 ChatManager#pinMessage 方法,用于置顶消息。
    • 新增 ChatManager#unpinMessage 方法,用于取消置顶消息。
    • 新增 ChatManager#fetchPinnedMessages 方法,从服务器获取指定会话的置顶消息。
    • 新增 ChatConversation#getPinnedMessages 方法,返回会话下的所有置顶消息。
    • 新增 ChatMessagePinInfo 类,包含消息置顶的操作者以及置顶时间。
    • 新增 ChatMessage#pinInfo 方法,展示消息的置顶详情。
    • 新增 ChatMessageEventListener#onMessagePinChanged 事件。当用户在群组或聊天室会话进行置顶操作时,群组或聊天室中的其他成员会收到该回调。
  • 新增 ChatOptions#messagesReceiveCallbackIncludeSend 开关。开启后,在 ChatMessageEventListener#onMessagesReceived 回调里增加发送成功的消息。
  • 消息编辑回调 ChatMessageEventListener#onMessageContentChanged 中支持返回 通过 RESTful API 编辑的自定义消息。

优化

  • 支持使用消息 body 完成单条转发,无需重新上传附件。
  • 在部分场景下,降低接收到大量群成员事件通知时获取群组详情的次数。
  • 在聊天室成员进出时更新聊天室成员人数,使人数更新更及时准确。
  • 优化 token 登录时的错误提示信息,使错误提示更精细。
  • 优化将所有会话置为已读的时间。
  • 优化 SDK 内部随机取服务器地址的逻辑,提升请求成功率。
  • 优化进出聊天室超时时间。
  • 优化部分场景下连接失败后重连的逻辑。
  • 优化附件类型消息发送时中的附件上传,支持分片上传。
  • 统一 Agora Token 和 EaseMob Token 登录方式:ChatClient#loginWithAgoraToken 接口废弃,统一使用 ChatClient#login 接口。此外,新增 EaseMob Token 即将过期及已过期的回调,即 EaseMob Token 已过期或有效期过半时也返回 ChatConnectEventListener#onTokenDidExpire 和 ChatConnectEventListener#onTokenWillExpire 回调。
  • 优化发消息时重试的逻辑。
  • Android/iOS SDK 移除网络请求时对 NetworkOnMainThreadException 异常的捕获。
  • 数据库升级逻辑优化。
  • 单个日志文件大小由 2 MB 提升到 5 MB。
  • iOS 平台中增加了隐私协议 PrivacyInfo.xcprivacy。
  • Android 平台适配 Android 14 Beta:适配以 Android 14 为目标平台时动态注册广播接收者必须设置 RECEIVER_EXPORTED 或者 RECEIVER_NOT_EXPORTED 的规定。
  • 作废接口说明:
    • getMessagesWithKeyword: getMsgsWithKeyword 替换该接口。
    • getMessages: getMsgs 替换该接口。
    • getMessageWithTimestamp: getMsgWithTimestamp替换该接口。
    • getMessagesWithMsgType: getConvMsgsWithMsgType替换该接口。
    • searchMsgFromDB: getMsgsWithMsgType替换该接口。

修复

  • 修复编辑消息后,离线用户上线后拉取历史消息,消息体中缺乏 from 属性的问题。
  • 特殊场景下,SDK 退出后再登录会丢失聊天室监听事件问题。
  • 修复网络恢复时重连 2 次的问题。
  • 修复未登录时调用 leaveChatroom 方法返回的错误提示不准确。
  • 部分场景下群成员人数计算重复问题。
  • 修复数据上报模块偶现的崩溃问题。
  • 修复部分场景下调用 ChatManager#updateMessage 方法更新消息时导致的崩溃问题。

v1.3.0 2024-1-4

新增特性

v1.2.1 2023-8-16

修复

  • 移除创建消息对象的参数 secret。该参数由服务器生成,在发送消息成功之后会获取到。

v1.2.0 2023-8-16

新增特性

  • React-Native 从 0.66.5 升级到 0.71.11。
  • 依赖的原生 SDK(iOS 和 Android)升级到版本 4.1.1。添加原生 SDK 提供的新功能。
  • 新增 ChatManager.fetchConversationsFromServerWithCursor 方法 从服务器分页获取会话列表。
  • 新增置顶服务器会话的功能:
    • 新增 ChatManager.pinConversation 方法,实现置顶或取消置顶服务器会话;
    • 新增 ChatManager.fetchPinnedConversationsFromServerWithCursor 从服务器分页获取置顶会话列表。
  • 新增 ChatManager.modifyMessageBody 方法,用于修改本地消息或服务器端消息。
  • 新增 发送 和 接收合并消息:
    • 新增 ChatMessage.createCombineMessage 方法构建合并消息。
    • 新增 ChatManager.fetchCombineMessageDetail 方法获取合并消息的信息。
  • 新增自定义登录设备的名称和平台的功能。
  • 新增 ChatPushManager.selectPushTemplate 方法基于自定义推送模板进行离线推送。
  • 新增 ChatPushManager.fetchSelectedPushTemplate 获取选定的推送模板以进行离线推送。
  • 在 ChatClient.getLoggedInDevicesFromServer 方法中添加 token 参数可使用用户 token 获取在线设备列表。
  • 在 ChatClient.kickDevice 和 ChatClient.kickAllDevices 方法中添加 token 参数可使用用户 token 将指定用户的某个或全部的登录设备踢下线。
  • 更新监听器:
    • ChatEvents.ChatConnectEventListener.onUserDidLoginFromOtherDevice:添加 deviceName 参数。
    • ChatEvents.ChatConnectEventListener:添加 onUserDidRemoveFromServer、onUserDidForbidByServer、onUserDidChangePassword、onUserDidLoginTooManyDevice、onUserKickedByOtherDevice 和 onUserAuthenticationFailed 事件通知。
    • ChatEvents.ChatConnectEventListener.onDisconnected:删除代码参数。
    • ChatEvents.ChatMultiDeviceEventListener:添加 onMessageRemoved 事件。
    • ChatEvents.ChatMultiDeviceEventListener:添加 onConversationEvent 事件。
    • ChatEvents.ChatMessageEventListener:添加 onMessageContentChanged 事件。
    • ChatRoomEventListener.onRemoved:添加 reason 参数。
  • 更新以下数据对象:
    • ChatConversation:添加 isPinned 和 pinnedTime 属性。
    • ChatMessage.ChatMessageType:添加 COMBINE 类型消息正文。
    • ChatMessage:添加 receiverList 属性。
    • 创建发送消息:添加 secret 参数。
    • ChatMessage.ChatMessageBody:添加 lastModifyOperatorId、lastModifyTime 和 modifyCount 属性。
    • ChatOptions:添加 enableEmptyConversation、customDeviceName 和 customOSType 属性。
    • ChatEvents.ChatMultiDeviceEvent:添加 CONVERSATION_PINNED、CONVERSATION_UNPINNED 和 CONVERSATION_DELETED事件。
  • 添加数据对象: ChatMessage.ChatCombineMessageBody:添加组合消息正文对象。

优化

  • 优化断线通知,分离出服务器主动断线的通知,用户可以具体处理服务器主动断线的原因。
  • 使用 commitlint 优化 git 提交规范,确保提交的代码符合规范。
  • 使用 lefthook 优化 git commit。添加使用 gitleaks 检查敏感信息。
  • 在 ChatManager 对象中,deleteAllMessages 重命名为 deleteConversationAllMessages。
  • 在 ChatEvents.ChatRoomEventListener 对象中,onRemoved 重命名为 onMemberRemoved。
  • 在 ChatEvents.ChatGroupEventListener 对象中,onUserRemoved 重命名为 onMemberRemoved。
  • 在 ChatEvents.ChatRoomEventListener 对象中,onChatRoomDestroyed 重命名为 onDestroyed。
  • 在 ChatEvents.ChatGroupEventListener 对象中,onGroupDestroyed 重命名为 onDestroyed。
  • 弃用 ChatManager.fetchAllConversations,改用 ChatManager.fetchConversationsFromServerWithCursor。

修复

修复 Android 平台下由于添加表情响应导致应用程序崩溃的问题。

v1.1.2 2023-6-28

新增特性

优化

  • 删除敏感信息。
  • 优化 ChatManager.fetchHistoryMessages 方法,更新接口声明。
  • 优化 iOS 文件类型的消息,当发送消息时本地路径带有 file:// 时发送成功。

修复

  • 修复更新 token 方法 renewAgoraToken 中的问题。
  • 修复 Android 平台发送视频消息失败的问题。

v1.1.1 2023-3-8

修复

修复调用 ChatGroupManager#fetchJoinedGroupsFromServer 方法时获取加入的公开群的扩展属性为空的问题。

v1.1.0 2023-2-24

新增特性

  • 依赖的原生平台 iOS 和 Android 的 SDK 升级为 v4.0.0 版本。
  • 新增 ChatManager#fetchConversationsFromServerWithPage 方法实现从服务器分页获取会话列表。
  • 新增 ChatMessage#messagePriority 方法实现聊天室消息优先级功能,确保高优先级消息优先处理。

优化

  • 移除测试数据的敏感信息。
  • ChatGroupManager 类中的方法 inviterUser 重命名为 inviteUser。
  • ChatMultiDeviceEvent 枚举类型 GROUP_ADD_USER_WHITE_LIST 重命名为 GROUP_ADD_USER_ALLOW_LIST。
  • ChatMultiDeviceEvent 枚举类型 GROUP_REMOVE_USER_WHITE_LIST 重命名为 GROUP_REMOVE_USER_ALLOW_LIST。

修复

  • 修复原生平台部分不安全代码。
  • 修复获取会话可能失败的问题。
  • 修复回调方法可能多次进入主线程导致死锁的问题。该问题只可能发生在 iOS 平台。

v1.0.11 Dev 2022-12-12

优化

依赖的 iOS 和 Android SDK 升级为 3.9.9 版本。

修复

  • 修复极端情况下 SDK 崩溃的问题。
  • 修复某些场景下调用 updateMessage 方法导致的内存与数据库中的消息不一致问题。
  • 适配 Android 12,修复依赖环信即时通讯 IM SDK 的 APK 在 Android 12 版本的部分手机上第一次安装后打开时出现异常弹框的问题。

v1.0.10 Dev 2022-10-13

修复

修复 Android 平台进行 JSON 转换可能出现的超限问题。该问题影响返回数组类型数据的接口,若此类接口返回的数据元素超过 50 个,则可能抛出异常。

v1.0.9 Dev 2022-10-08

新增特性

ChatGroupEventListener 中新增两个事件:

  • onDetailChanged:群组详情变更事件。
  • onStateChanged:群组禁用状态变更事件。

修复

修复聊天室自定义属性问题。

v1.0.8 Dev 2022-09-30

新增特性

  • 新增聊天室自定义属性功能。
  • 在 ChatOptions 类中新增 areaCode 参数限制连接边缘节点的范围。
  • ChatGroupOptions 中增加 isDisabled 属性显示群组禁用状态,需要开发者在服务端设置。该属性在调用 ChatGroupManager 中的 fetchGroupInfoFromServer 方法获取群组详情时返回。

修复

  • 修复极少数场景下,从服务器获取较大数量的消息时失败的问题。
  • 修复数据统计不正确的问题。
  • 修复极少数场景下打印日志导致的崩溃。

v1.0.7 2022-09-07

兼容性变更

unSubscribe 方法重命名为 unsubscribe。

新增特性

  • 新增 setConversationExtension 方法用于设置会话扩展。
  • 新增 insertMessage 方法插入消息。
  • 新增 deleteMessagesBeforeTimestamp 方法删除指定时间戳之前的消息。
  • 新增 getThreadConversation 方法获取或创建消息话题会话。
  • ChatConversation 类中添加 isChatThread 属性确认会话是否为消息话题会话。
  • 新增 ChatPushManager 类支持推送通知设置。
  • 新增 ChatPushConfig 类支持 FCM 推送配置。
  • 在 ChatOptions 类中新增 pushConfig 方法支持推送初始化设置。
  • 在 ChatClient 类中新增 updatePushConfig 方法支持推送配置更新。

优化

  • 依赖的原生的 SDK(iOS 和 Android)升级到 V1.0.7。
  • 监听方法调整为可选。
  • 更新发布脚本。
  • 更新 demo。

问题修复

修复相关方法中的 type 字段的 JSON 解析错误。

v1.0.6 2022-7-22

兼容性变更

  1. 以下方法进行了重命名:
  • deleteRemoteConversation 方法重命名为 removeConversationFromServer。
  • loadAllConversations 方法重命名为 getAllConversations。
  • getConversationsFromServer 方法重命名为 fetchAllConversations。
  • getUnreadMessageCount 方法重命名为 getUnreadCount。
  • fetchLatestMessage 方法重命名为 getLatestMessage。
  • fetchLastReceivedMessage 方法重命名为 getLatestReceivedMessage。
  • unreadCount 方法重命名为 getConversationUnreadCount。
  • getMessagesFromTime 方法重命名为 getMessageWithTimestamp。
  • 白名单和黑名单相关的方法名进行了重命名:
    • 白名单相关的方法名中的 WhiteList 修改为 AllowList,如 getGroupWhiteListFromServer 修改为 getGroupAllowListFromServer;
    • 黑名单相关的方法名中的 BlackList 修改为 BlockList,如 getGroupBlackListFromServer 修改为 getGroupBlockListFromServer。
  1. 删除了以下方法:
  • getMessageById
  • insertMessage
  • appendMessage

新增特性

消息中新增 isOnline 字段。

优化

  • 更新了接口示例应用。
  • 依赖的 SDK(Android 和 iOS)升级至 V3.9.4。
  • React-Native 升级至 0.66.4 LTS 版本。
  • Android 平台无需再执行其他操作。
  • agora-react-native-chat 重命名为 react-native-agora-chat。

修复

类型声明切入点不正确。

v1.0.5 2022-6-21

这是 React Native SDK 第一个正式发布的版本,包含以下功能:

  • 在单聊、群聊、聊天室和消息话题中发送和接收消息;
  • 管理会话和消息;
  • 管理群组和聊天室;
  • 用户在线状态订阅;
  • 消息表情回复;
  • 管理消息话题等。

关于详细功能概述请参见: 产品概述.

具体集成请参考以下文档:

上次编辑于: