NIM SDK 稳定版更新日志

更新时间: 2024/04/07 18:27:19

近期重要更新

  • 支持在群免打扰状态下设置特别关注的群成员(包括高级群和超大群)。
  • 新增动态查询连续完整的历史消息功能,具体请参见动态查询历史消息
  • 支持查询指定时间段内的服务端 Thread 历史消息,具体请参考历史消息文档
  • 第三方回调登录支持第三方服务器采用动态 token 鉴权的场景。

什么是稳定版

稳定版基于开发版,可满足常见 IM 业务场景,更注重稳定性。

开发版在可商用的基础上,提供新功能与特性。

两者的主要差异点如下:

  • 稳定版相较开发版,在更长周期内获得了更多用户的验证,且修复了多个历史版本的已知问题,稳定性保障更佳。

  • 稳定版基于开发版 V8.9.0,包体积更小(具体见下文的 SDK 包体积大小对比)。

  • 稳定版不支持海外节点存储、圈组模块以及其他最新功能。

    具体功能差异如下:

    功能 简介
    稳定版
    开发版
    融合存储 将数据存储于海外节点如果您的应用涉及海外业务,请选择开发版。
    圈组 用于打造全新社交模式类“Discord”场景
    聊天室空间消息 用于在基于空间坐标的场景下给指定范围内的用户发送消息,如某游戏地图内指定范围内的玩家
    聊天室标签实时更新 实时更新聊天室的用户标签

稳定版环境要求

环境要求 说明
JDK 版本 1.8.0 及以上版本
Android API 版本 API 21、Android 5.0 及以上版本
CPU架构 ARM 64、ARM V7
IDE Android Studio 4.0及以上
其他 依赖 Androidx,不支持 support 库
请使用 Android 系统 5.0 或以上版本的移动设备

[8.9.129] - 2024-04-07

新增 logout(long timeout) 接口,在内部处理完成登出后回调登出成功的通知。

接口原型如下:

/**
* @param timeout 登出允许的最大等待时间,单位毫秒。如 3 * 1000L
* @return InvocationFuture 可设置回调函数,监听操作结果。
*/
public InvocationFuture<Void> logout(long timeout);

[8.9.128] - 2024-03-27

升级数据库加密套件(SQLCipher)至 4.5.4 版本。

[8.9.127] - 2024-03-20

改进优化

  • 优化未登录情况下消息发送逻辑。
  • 优化信令模块(呼叫功能)。
  • 其他内部优化。

[8.9.126] - 2024-02-23

新增特性

支持根据 Thread 根消息查询本地 Thread 子消息。

API 变更

API
API 说明
queryLocalThreadTalkHistory 新增接口,用于根据 Thread 根消息查询本地 Thread 子消息。

[8.9.125] - 2024-02-02

新增特性

新增动态查询连续完整的历史消息功能,具体请参见动态查询历史消息

相较于频繁从云端获取,该查询方法在保证历史消息完整的同时,减少了耗时和耗能。

API 变更

方法/类/枚举 说明
getMessagesDynamically 动态查询连续完整的历史消息。

[8.9.124] - 2024-01-19

新增特性

  • 支持按照群成员类型查询成员列表信息。(高级群和超大群)
  • 支持按照关键字检索群成员。(仅超大群)

API 新增

API API 说明
TeamService.getTeamMemberList/SuperTeamService.getTeamMemberList 按照群成员类型查询成员列表信息。
API 原型:getTeamMemberList(String teamId, NIMTeamMemberRoleTypeSearchOption option);
  • teamId:群组 ID
    NIMTeamMemberRoleTypeSearchOption 参数说明:
  • roleTypesTeamMemberType,群成员角色类型
  • offset:查询偏移,首次传 0,下一次调用传入上一次返回的 offset
  • orderSearchOrderEnum,查询方向,即返回结果按照 joinTime(进群时间)升序或降序排序。默认为时间降序。
  • limit:本次查询最大数量,默认为 10。
  • SuperTeamService.searchTeamMember 按照关键字检索群成员。
    API 原型:searchTeamMembers(NIMTeamMemberKeywordSearchOption option);
    NIMTeamMemberKeywordSearchOption 参数说明:
  • teamId:群组 ID
  • keyword:查询使用的关键字
  • offset:查询偏移,首次传 0,下一次调用传入上一次返回的 offset
  • orderSearchOrderEnum,查询方向,即返回结果按照 joinTime(进群时间)升序或降序排序。默认为时间降序。
  • limit:本次查询最大数量,默认为 10。
  • [8.9.123] - 2024-01-12

    内部优化。

    [8.9.122] - 2023-12-27

    新增特性

    • 支持按会话类型批量清理未读数功能,具体请参考指定类型的会话未读数清零

    • 支持获取指定类型的会话的消息未读数,具体请参考获取指定类型的会话的消息未读数

    • 支持自行填入第三方厂商的推送 token。实现步骤如下:

      1. com.netease.nimlib.sdk.mixpush.IManualProvidePushTokenCallback 提供了自行传入推送 token 的回调类型,需要实现方法 Pair<MixPushTypeEnum, String> onToken(MixPushTypeEnum suggestedPushType)。方法中提供当前设备的推荐推送类型,用户可参考推荐类型,并返推送类型+ token 的键值对交由 SDK 处理。
      2. 通过调用 com.netease.nimlib.sdk.mixpush.NIMPushClientregisterManuallyProvidePushTokenCallback 方法注册 IManualProvidePushTokenCallback

    API 新增

    API API 说明
    clearUnreadCount 将指定类型的会话未读数清零(标记已读)。
    getUnreadCountBySessionType 获取指定类型的会话的消息未读数。
    com.netease.nimlib.sdk.mixpush.MixPushConfig 类新增 manualProvidePushToken 配置项 自行传入推送 token:
  • true:开启。需要用户自行传入厂商推送 token (Demo 在 DemoManualProvidePushTokenCallback 中已实现)。
  • false:(默认)关闭。由 NIM SDK 获取厂商推送 token。
  • 新增 com.netease.nimlib.sdk.mixpush.IManualProvidePushTokenCallback 回调 提供自行传入推送 token 的回调。

    [8.9.121] - 2023-12-08

    新增特性

    • 支持查询指定时间段内的服务端 Thread 历史消息,具体请参考历史消息文档

    • 为适配 vivo 推送升级,新增初始化参数,在获得用户隐私许可(agreePrivacyStatement)后才可开启并获取 vivo push token。

    API 新增

    API
    API 说明
    queryThreadTalkHistory 分页查询指定时间段内的云端 Thread 历史消息(单聊、群/超大群)。
    MixPushConfig 新增 vivoAgreePrivacyStatement 设置用户是否同意 vivo 推送隐私声明 agreePrivacyStatement。

    vivoAgreePrivacyStatement 原型:

    /**
     * 设置用户是否同意 vivo 推送隐私声明 agreePrivacyStatement:
     *   true:用户同意了隐私声明。
     *   false:未同意隐私声明,默认不同意。
     */
    public boolean vivoAgreePrivacyStatement = false;
    

    改进优化

    第三方推送升级至最新版本。

    第三方推送兼容版本

    v8.9.121 兼容的第三方推送 SDK 版本信息如下:

    第三方推送 版本
    华为 6.12.0.300
    小米 5.9.9
    OPPO 3.4.0
    vivo 3.0.0.7_488
    魅族 4.3.0
    荣耀 7.0.61.303
    FCM
    • firebase-messaging:23.2.1
    • firebase-analytics: 21.3.0

    [8.9.119] - 2023-10-19

    • 优化第三方回调动态 Token 登录内部逻辑,具体请参见通过第三方回调登录 IM
    • 修复数据库中群成员信息与服务端不一致的问题。

    [8.9.118] - 2023-08-29

    • 支持配置消息提醒(本地通知消息)的类型,具体请参考消息提醒类型
    • 修复 IPV6 URL 转换错误的问题。
    • 修复 NOS 文件上传失败的问题。
    • Android API 最低版本升级至 21(原 19)。

    [8.9.117] - 2023-07-20

    • 支持在应用级别配置 SDK 日志打印的开关,减少 SDK 本地查询数据库的操作。
    • 取消未登录状态下发送消息的超时机制,直接返回未登录错误码。
    • deviceID 和 AppKey 以健值对的方案存储,传入 AppKey 即可获取 device ID。
    • 修复文件下载完成后,文件状态异常的问题。
    • 修复其他已知问题。

    [8.9.116] - 2023-06-14

    优化内部逻辑。

    [8.9.115] - 2023-05-15

    • 推送升级。
    • 修复其他已知问题。

    第三方推送兼容版本

    v8.9.115 兼容的第三方推送 SDK 版本信息如下:

    第三方推送 版本
    华为 6.9.0.300
    小米 5.6.2
    OPPO 3.1.0
    VIVO 3.0.0.4_484
    魅族 4.2.3
    荣耀 7.0.41.301
    FCM firebase-bom:28.4.2,具体版本:
    • firebase-messaging:23.0.0
    • firebase-analytics: 20.0.0

    [8.9.114] - 2023-04-27

    • IM & 聊天室登录支持采用动态 Token 鉴权 & 动态 LoginExt 鉴权的场景。
    • 解决隐私合规问题。
    • 修复已登录场景下,数据库打开异常的问题。
    • 修复锁屏之后 observeOnlineStatus 回调过于频繁的问题。
    • 修复其他已知问题。

    [8.9.113] - 2023-03-31

    • 第三方回调登录支持第三方服务器采用动态 token 鉴权的场景。

      如果用户登录 IM 时 token 已过期,IM 服务端会重新向第三方服务器发起登录回调请求,并获取新的 token。

    • 部分已知问题修复与优化。

    [8.9.112] - 2023-02-17

    • 修复会话状态更新异常。
    • 修复登录超时后的重连机制异常。
    • 修复其他已知问题。

    [8.9.111] - 2023-01-31

    修复数据上报完成后,在主线程中操作数据库时,可能导致卡顿或者应用程序无响应对话框 (ANR)的问题。

    [8.9.109] - 2022-12-15

    新增特性

    • 支持聊天室定向消息功能。发送聊天室消息支持消息接收者列表
    • 适配 Android v13.0.0
    • 解决隐私合规问题

    问题修复

    • 修复发送文件消息时文件上传失败但消息发送成功的问题
    • 修复获取群昵称异常问题
    • 修复偶现的所在高级群被提示已退出的问题
    • 修复其他已知问题

    第三方推送兼容版本

    v8.9.109 兼容的第三方推送 SDK 版本信息如下:

    第三方推送 版本
    华为 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

    [8.9.108] - 2022-11-28

    优化 SDK 内部判断当前所在进程的逻辑。

    [8.9.107] - 2022-11-08

    SDK 包体积增量大小对比

    架构 稳定版(v8.9.107) 开发版(v9.6.3)
    arm64-v8a 9.73MB 23.64MB
    armeabi-v7a 7.38MB 17.66MB

    新增特性

    • 适配 Android v12.0.0
    • 支持数据上报(查看实时监控数据的基础)
    • 支持根据用户登录的 App Key 进行数据采集并上报
    • 支持聊天室动态登录

    问题修复

    • 去除 ssid 获取
    • 去除自启动和关联启动的行为
    • 修复 AES 加密问题
    • 去除用户未同意隐私条款前的调用逻辑
    • 修复超大群消息开启免打扰失效的问题
    • 修复应用启动时偶现的无法启动 NimService 问题
    • 修复聊天室偶现的无法收到消息的问题
    • 修复插入本地消息是否计未读数和主体未读数判断逻辑不一致的问题
    • 修复 Thread 的回复消息数与实际不符的问题
    • 修复偶现的日志崩溃问题
    • 修复其他已知问题

    第三方推送兼容版本

    v8.9.107 兼容的第三方推送 SDK 版本信息如下:

    第三方推送 版本
    华为 6.3.0.302
    小米 4.5.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

    已知问题

    该版本 SDK 中未包含全文检索插件nim-lucene-x.x.x.jar)。

    [8.9.100] - 2022-07-15

    NIM SDK 稳定版首次发布。

    v8.9.100 兼容的第三方推送 SDK 版本信息如下:

    第三方推送 版本
    华为 6.3.0.302
    小米 4.5.0
    OPPO 3.0.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
    此文档是否对你有帮助?
    有帮助
    去反馈
    • 近期重要更新
    • 什么是稳定版
    • 稳定版环境要求
    • [8.9.129] - 2024-04-07
    • [8.9.128] - 2024-03-27
    • [8.9.127] - 2024-03-20
    • 改进优化
    • [8.9.126] - 2024-02-23
    • 新增特性
    • API 变更
    • [8.9.125] - 2024-02-02
    • 新增特性
    • API 变更
    • [8.9.124] - 2024-01-19
    • 新增特性
    • API 新增
    • [8.9.123] - 2024-01-12
    • [8.9.122] - 2023-12-27
    • 新增特性
    • API 新增
    • [8.9.121] - 2023-12-08
    • 新增特性
    • API 新增
    • 改进优化
    • 第三方推送兼容版本
    • [8.9.119] - 2023-10-19
    • [8.9.118] - 2023-08-29
    • [8.9.117] - 2023-07-20
    • [8.9.116] - 2023-06-14
    • [8.9.115] - 2023-05-15
    • 第三方推送兼容版本
    • [8.9.114] - 2023-04-27
    • [8.9.113] - 2023-03-31
    • [8.9.112] - 2023-02-17
    • [8.9.111] - 2023-01-31
    • [8.9.109] - 2022-12-15
    • 新增特性
    • 问题修复
    • 第三方推送兼容版本
    • [8.9.108] - 2022-11-28
    • [8.9.107] - 2022-11-08
    • SDK 包体积增量大小对比
    • 新增特性
    • 问题修复
    • 第三方推送兼容版本
    • 已知问题
    • [8.9.100] - 2022-07-15