默认
即时通讯网 资讯 [动态] 即时通讯云网易云信版本更新(4.4版)
即时通讯网 首页 资讯 查看内容
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议

[动态] 即时通讯云网易云信版本更新(4.4版)

JackJiang · 6 年前 | 阅读(23828)· 评论(0) 转发 收藏

摘要 即时通讯云网易云信于2017年11月16日发布4.4版,本次更新为主要版本更新,详情见文章内容。

发布的版本

本次发布的版本号为 4.4版,更新时间为:2017年11月16日

iOS 更新内容

新增

  • 添加聊天室用户异常掉线或主动退出的时候自动清除队列,包含接口

    • NIMChatroomQueueUpdateRequest 添加 transient 属性
    • NIMChatroomEventType 添加枚举 NIMChatroomEventTypeQueueBatchChange
    • NIMChatroomEventInfoQueueChangeItemsKey 聊天室批量变更元素键,值为包含多个键值对的字典

修正

  • 修正清空不存在的最近会话的消息,回调上来的 NIMRecentSession 为 nil 的问题

Android 更新内容

新增

1. 添加聊天室用户异常掉线或主动退出的时候自动清除队列:ChatRoomService#updateQueueEx。影响类和接口:

  • 添加通知类型:NotificationType#CHATROOM_QUEUE_BATCH_CHANGE,表示队列批量变更。
  • 添加附件类型:ChatRoomPartClearAttachment,包含清除队列的内容。

2. NOS 资源下载添加 CDN 支持,添加两种可配置模板,见 SDKOptions#ServerAddress#nosAccess。

3. 适配 Android O 版本通知栏,增加云信即时消息通道、消息免打扰通道,解决 target 指向26 通知栏无法弹出的问题。

4. 适配 Android O 版本后台运行机制,开发者请务必在清单文件里面配置:

    <service android:name="com.netease.nimlib.service.ResponseService" />

5. 适配 Android O+ 版本,解决 target 指向27 InvalidKeySpecException 导致的 SDK 无法登陆的问题。

6. 添加新的 IPC 数据共享机制,替换不安全的多进程读写 SharedPreference,开发者请务必在清单文件里配置:

    <provider
        android:name="com.netease.nimlib.ipc.NIMContentProvider"
        android:authorities="{APP包名}.ipc.provider"
        android:exported="false"
        android:process=":core" />

7. 添加 SDKOptions#asyncInitSDK 支持异步 SDK 初始化,降低 Application#onCreate 中 SDK 初始化函数的同步响应时间。

8. 添加 SDKOptions#reducedIM 支持弱 IM 场景。如果您的APP 仅在部分场景按需使用 IM 能力(不需要在应用启动时就做自动登录),并不需要保证消息通知、数据的实时性,那么这里可以填 true。弱 IM 场景下,push 进程采用懒启动策略(延迟到用户登录阶段),启动后其生命周期将跟随 UI 进程,降低弱 IM 场景的APP的后台功耗开销。

9. 添加 SDKOptions.checkManifestConfig,自动检查 SDK 配置是否完全,如果不完全将抛出异常提示。强烈建议开发者在开发阶段开启检查,检查通过后,线上环境关闭。

10. API 调用框架增强:

  • 支持带 Looper 的非UI线程发起的异步API调用,直接回调到调用者线程。老版本会默认回调到 UI 线程。
  • 提供异步强制转成同步的接口:NIMClient#syncRequest,允许设置最大同步等待时间,支持非 UI 线程里需要同步调用云信 API的场景。
  • 添加自动生成的 NIMSDK类,开发者可以直接采用 NIMSDK#getXXXService 方法获取服务接口,不再需要传递 XXXService.class,简化 API 调用方式。其他插件自动生成的调用入口类为:NIMChatRoomSDK、NIMLuceneSDK。例如采用 NIMSDK.getAuthService().login() 替换NIMClient.getService(AuthService.class).login()

11. 添加 NIMClient#getSDKVersion 接口,运行时获取当前集成的 SDK 版本号。

变更

1. 类变更:com.netease.nimlib.sdk.uinfo.UserInfoProvider#UserInfo 包名变更为 com.netease.nimlib.sdk.uinfo.model.UserInfo,开发者升级到此版本时,请统一修改 UserInfo import 的包名。

2. 类成员函数变更:UserInfoProvider 移除 getDefaultIconResId、getAvatarForMessageNotifier、getTeamIcon 三个函数,统一替换为新增的函数,根据会话类型、会话ID返回消息提醒需要的头像位图:getAvatarForMessageNotifier(sessionType, sessionId),请参考最新 Demo 源码中 NimUserInfoProvider 类中提供的替换方案。

3. 添加 NIMUitl#isMainProcess 接口,保证 SDK 初始化及 APP 初始化进程判断方式统一,请开发者替换 Application#onCreate 中主进程判断方法为此方法。

4. 移除 SDKOptions#enableSDKBackgroundReconnectStrategy 后台自动重连开关,请采用弱 IM 模式替换。

5. 修复 Push 进程自动登录被踢出后,部分机器进程被系统反复调度重启时依然发起连接的问题。

6. 针对 SDKOptions#sdkStorageRootPath 配置的外置存储缓存根目录,如果开发者配置在 Context#getExternalCacheDir 及 Context#getExternalFilesDir 等应用扩展存储缓存目录下(即/sdcard/Android/data/{package}),SDK 内部将不再检查写权限。值得注意的是,改缓存目录下的的文件会随着App卸载而被删除,也可以由用户手动在设置界面里面清除。

7. 优化唤醒策略,减少不必要的唤醒。优化 Push 进程无法唤醒 UI 时将采用的 “自杀机制”,先切断所有唤醒路径后再安全退出。

8. 修复匿名聊天室断网重连过程中如果出现回调 1001 的错误码时(SDK无法通过回调获取聊天室ip)时,SDK 无法继续重连的问题。

9. 修复聊天室调用 ChatRoomSerivce#updateMyRoomRole 后,在断网重连过程中,丢失角色信息更新的问题。

Windows(PC) SDK 更新内容

新增

  • 聊天室用户异常掉线或主动退出的时候自动清除队列, nim_chatroom.h
    • nim_chatroom_queue_offer_async(...), json_extension = "{\"transient\":true}" 设置此次更新的元素会在特定场景下被自动清除
    • 新增通知类 kNIMChatRoomNotificationIdQueueBatchChanged 用在麦序队列中有批量变更,发生在元素提交者离开聊天室或者从聊天室异常掉线时

修复

  • 修复获取最近会话列表时可能导致CPU增高的问题

Web SDK 更新内容

新增

  • 聊天室新增麦序队列元素,增加可配置选项,用户从聊天室掉线或退出的时候,需要删除这个元素

变更

  • 取消同步群成员配置选项,强制要求开发者按需同步群成员列表

下载地址

请从以下官网地址下载:http://netease.im/

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

0 推荐

相关阅读

最新评论

返回顶部