跳到主要内容

版本:5.X

2.X 升级到 5.X(Electron)

本文描述如何从 IMLib SDK 2.X 版本(@rongcloud/imlib-v2) 升级至 5.X 版本的步骤。

Electron 平台升级概述​

IMLib SDK 5.X 是即时通讯业务客户端 SDK 的最新版本, 对 Typescript 的使用者提供了友好的类型化支持。相对于 2.X 版本,5.X 版本功能更丰富,更稳定,并在之前版本上修复了大量问题,我们建议融云客户尽早升级至新版 IMLib SDK。

注意

融云同时为已集成 IMLib v2 版本(@rongcloud/imlib-v2)的客户提供了基于 Adapter 库(RongIMLib-v2-Adapter)替换升级选项。请注意,Adapter 库仅会提供问题修复,但不会在旧版 SDK 基础上增加新功能。详见关于 Adapter 的说明。

评估升级工作量​

IMLib 5x SDK 与旧版 SDK 不兼容。我们整理了新旧版本 SDK API 对应关系与差异。请开发者根据自身 API 使用情况与 API 差异,合理安排开发周期。

  • 新旧版本接口接口的名称和参数差异较大。升级前需要详细对照。
  • 新旧版本接口返回值差异较大,可根据接口名称速查对照表比对各个接口返回值差异。

升级注意事项​

在 Electron 框架中使用 IMLib 5.X SDK,需要在主进程中引用 @rongcloud/electron 包,并在 app 的 ready 事件通知后进行主进程初始化。在渲染进程中初始化 IMLib,详细请阅读 适配 Electron 框架 相关文档完成升级。

Electron 包变化​

需要删除 electron-solution 包,重新引入 @rongcloud/electron 与 @rongcloud/electron-renderer

Electron 独有接口​

升级到 5.X 后,如果调用 Electron 独有接口,需要增加 electronExtension 属性标识。调用方式示例如下:

JavaScript
RongIMLib.electronExtension.getAllConversationList();

下表列出了 IMLib 5.X 提供的 Electron 独有接口。

描述5.x API
获取本地全部会话getAllConversationList
分页获取本地会话getConversationList
搜索本地会话searchConversationByContent
根据关键字搜索本地消息searchMessages
指定时间范围内搜索本地消息searchMessageInTimeRange
获取指定消息类型的历史消息getHistoryMessagesByMessageTypes
通过时间戳设置消息状态为对方已读setMessageStatusToRead
设置消息的接收状态setMessageReceivedStatus
设置消息的发送状态setMessageSentStatus
通过消息 ID 删除deleteMessages
通过会话删除clearMessages
通过时间戳删除deleteMessagesByTimestamp
插入单条消息insertMessage
批量插入消息batchInsertMessage

从 v2.5 或更早版本升级​

IMLib 2.5 及更早版本,需注意如下变更:

注意

  1. SDK 不再支持公众号与客服插件相关接口!
  2. IM 链接因网络问题意外中断后,SDK 会自动重连,应用层无需再调用 reconnect 方法。
  3. 若 'RC:ProfileNtf'、'RC:CmdNtf'、'RC:InfoNtf' 类型消息的 content.data 字段为 Json 字符串,需自行解析。
  4. SDK 不再兼容 IE 浏览器 6 至 8 版本。

具体废弃功能参见下表:

分类废弃方法描述
会话getConversationUnreadCount按会话类型获取会话未读数
会话clearConversations按会话类型删除会话
会话clearTotalUnreadCount清除所有会话未读数
讨论组createDiscussion创建讨论组
讨论组getDiscussion获取讨论组信息
讨论组quitDiscussion退出讨论组
讨论组addMemberToDiscussion加入讨论组
讨论组removeMemberFromDiscussion将指定成员移除讨论租
讨论组setDiscussionInviteStatus设置讨论组邀请状态
讨论组setDiscussionName设置讨论组名称

新旧 API 对照速查表​

描述2.x API5.x API
初始化initinit
设置监听setConnectionStatusListeneraddEventListener
重连reconnect无需应用侧调用重连,详见SDK 重连机制
断开连接disconnectdisconnect
退出登录logoutdisconnect
获取会话列表getConversationListgetConversationList
清除会话列表clearConversations5.X 版本客户端不提供该接口。
获取指定会话getConversationgetConversation
删除指定会话removeConversationremoveConversation
获取草稿getTextMessageDraftgetTextMessageDraft
保存草稿saveTextMessageDraftsaveTextMessageDraft
删除草稿clearTextMessageDraftclearTextMessageDraft
获取所有会话未读数getTotalUnreadCountgetTotalUnreadCount
获取单个会话未读数getUnreadCountgetUnreadCount
按会话类型获取未读数getConversationUnreadCountgetTotalUnreadCount
清除单个会话未读数clearUnreadCountclearMessagesUnreadStatus
清除全部会话未读数clearAllUnreadCountclearAllMessagesUnreadStatus
会话置顶setConversationStatussetConversationToTop
会话免打扰setConversationStatussetConversationNotificationLevel
创建标签createTagaddTag
移除标签removeTagremoveTag
编辑标签updateTagupdateTag
获取标签列表getTagListgetTags
添加会话到一个标签addTagForConversationsaddConversationsToTag
删除指定标签中某些会话removeTagForConversationsremoveTagsFromConversations
删除指定会话中的某些标签removeTagsForConversationremoveTagsFromConversation
获取指定会话下的所有标签getTagsForConversationgetTagsFromConversation
分页获取指定标签下的会话列表getConversationListByTaggetConversationsFromTagByPage
按标签获取未读消息数getUnreadCountByTaggetUnreadCountByTag
设置标签中会话置顶setConversationStatusInTagsetConversationToTopInTag
发送消息sendMessagesendMessage
注册自定义消息registerMessageTyperegisterMessageType
历史消息获取getHistoryMessagesgetHistoryMessages
单聊消息回执实现方案需要整体替换成 5x SDK 的接口sendReadReceiptMessage
群聊消息回执实现方案需要整体替换成 5x SDK 的接口sendReadReceiptRequest,sendReadReceiptResponseV2
消息撤回sendRecallMessagerecallMessage
消息删除deleteRemoteMessagesdeleteMessages
更新消息扩展updateMessageExpansionupdateMessageExpansion
删除消息扩展removeMessageExpansionForKeyremoveMessageExpansionForKey
加入聊天室joinChatRoomjoinChatRoom
退出聊天室quitChatRoomquitChatRoom
查询聊天室信息getChatRoomInfogetChatRoomInfo
聊天室设置属性setChatroomEntrysetChatRoomEntry
聊天室批量设置属性setChatRoomEntriessetChatRoomEntries
聊天室强制设置属性forceSetChatroomEntryforceSetChatRoomEntry
聊天室删除属性removeChatroomEntryremoveChatRoomEntry
聊天室强制删除属性forceRemoveChatroomEntryforceRemoveChatRoomEntry
聊天室获取单个属性getChatroomEntrygetChatRoomEntry
聊天室获取所有属性getAllChatroomEntriesgetAllChatRoomEntries
获取聊天室历史消息getChatRoomHistoryMessagesgetChatroomHistoryMessages