上云无忧 > 文档中心 > 自研或其他厂商提供的IM即时通讯服务如何迁移到环信?
IM即时通讯
自研或其他厂商提供的IM即时通讯服务如何迁移到环信?

文档简介:
平滑迁移:环信多年来一直在致力于提供稳定,安全的即时通讯服务,在开发者中积累了良好的口碑。如果您希望接入环信的IM服务,但正在使用自研或友商提供的即时通讯服务,这篇文档正是针对这一场景,介绍了一套迁移方案,这套方案已经成功为多家客户实现了平滑迁移。 用户也可以通过环信提供的存量迁移工具、平滑迁移 Relay-server 来完成迁移。这两个工具已经完成了绝大部分迁移工作,用户只需要关注感兴趣部分即可。
*此产品及展示信息均由环信官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

环信多年来一直在致力于提供稳定,安全的即时通讯服务,在开发者中积累了良好的口碑。如果您希望接入环信的IM服务,但正在使用自研或友商提供的即时通讯服务,这篇文档正是针对这一场景,介绍了一套迁移方案,这套方案已经成功为多家客户实现了平滑迁移。

用户也可以通过环信提供的存量迁移工具、平滑迁移 Relay-server 来完成迁移。这两个工具已经完成了绝大部分迁移工作,用户只需要关注感兴趣部分即可。

#基本概念

  • 应用服务器:客户方自有,服务于客户应用业务功能的服务器。
  • 环信 IM 服务器:环信提供的即时通讯服务器。
  • 原 IM 服务器:用户原先实现 IM 功能的服务器,可以是自有服务器或友商提供的云服务。
  • 老应用:与原 IM 服务器连接的老版本 app。
  • 新应用:迁移后与环信服务器连接的新版本 app。

#迁移准备

进行 IM 平滑迁移,需要提前进行以下准备:

注册环信账号,创建应用并开通 IM 功能。

#强制升级迁移

如果新应用上架,可以强制所有的老应用升级至新应用,可以使用强制迁移方式。此方式下不存在新老应用的兼容问题。 主要工作如下:

#1. 导入用户体系至环信服务器

用户体系包含两部分内容:

一是用户在环信的 ID 和密码;

二是用户之间的好友关系。如果你的应用服务器保存了用户的好友关系,则不需要在环信服务器中保存该部分。

环信只是即时通讯的消息通道。环信本身不提供除用户 ID 和密码外的其他资料。比如说,你的 APP 是一个婚恋交友 APP,那么你的 APP 用户的头像、昵称、身高、体重、三围、电话号码等信息是保存在你自己的 APP 业务服务器上,这些信息不需要告诉环信。

用户管理 REST API 提供了一个创建环信账号的 REST 方法。这个方法很简单,只需要提供账号 ID 和密码 2 个参数,就可以创建一个环信账号。对一个已经上线,已经有很多现有用户的 APP 来说,要集成环信,只需要写一个脚本,循环调用创建环信用户的 REST 方法。

#2. 导入单聊和群聊信息至环信服务器

需要将客户业务中的单聊和群聊信息从旧的 IM 服务器中导入环信服务器,例如群建对应的群组,并加入对应的用户至群组中。

对应的 REST API 如下:

REST 导入单聊消息

REST 导入群聊消息

#3. 存量迁移工具

环信为了用户更好的迁移数据(用户体系、群组),提供了存量迁移工具。用户只需要在此基础上简单二次开发,向工具中集成需要迁移的数据,即可使用。如有需要,请联系销售。

#4. 导入用户设备上的历史消息

在新版本 App 中集成环信 IM SDK 后,如果需要继续使用用户设备上的旧消息,可以使用导入消息的 API,构建环信消息结构,导入环信 SDK 中的消息数据库。

具体可以参考:

Android 导入消息至本地数据库

iOS 导入消息至本地数据库

#新老兼容的平滑迁移

新老兼容迁移的方式,是指在迁移过程中,环信 IM 服务器和原IM服务器同时提供服务,新应用和旧应用并存,支持新旧应用互通。待用户逐步更新至新应用,旧应用逐步无人使用后,原 IM 服务器停止服务。

平滑迁移需要原服务支持并开通服务端消息路由功能(用户 A 给用户 B 发消息的过程中,服务器支持通过消息回调(也经常称为:callback,WebHook 或者消息抄送服务)的模式将消息转发给开发者提供的服务器 URL 地址)。

平滑迁移的主要内容如下:

#1. 导入用户体系和群组信息

与强制升级的步骤相同,请参考强制升级中的说明。

#2. 利用消息路由功能完成新旧版本之间的消息互通

如果需要老用户和新用户互相通信,老用户(需要注册一个环信的 ID 和老用户关联)可以发消息到自己的服务端,服务端来调环信的 REST 发送消息接口给新用户发送消息,新用户收到对方的消息,回复消息给老用户,先走到环信服务器,环信服务器调用旁路接口(自己服务器提供的一个接口)到自己服务器上,再由自己服务器的聊天系统发消息给客户端。

注:在这里需要注意的是,新老用户之间发送文字容易处理,但是如果发送的消息里面带有附件情况,需要 User Server 提供可以上传下载附件的旁路接口,并且需要音视频转换的方法,目前环信客户端这边音频格式统一为 AMR 格式。

#消息回调的开通

消息回调为增值服务,需要联系商务开通,具体步骤可以参考如下文档:

消息回调

#消息格式的转换

环信 IM 服务的消息可能与旧的 IM 服务的消息格式稍有差别,需要用户自己实现格式的转换。 环信的消息支持文本消息,图片消息,语音消息,视频消息,位置消息等不同的类型,具体请参考:

消息数据格式

用户也可以参考 Relay-server 此部分的实现。

#语音消息的格式

环信的移动端语音消息为 amr 格式,其中 iOS 端是录制后转换为 amr 格式,web 端是由服务器端在下载语音消息时转换为 mp3 格式。如果旧的 IM 服务器支持的格式不符,需要适当的进行转换。

用户也可以参考 Relay-server 此部分的实现。

#3. 平滑迁移 Relay-server

环信为了更好帮助客户从云信、融云平台迁移到环信,环信开发平滑迁移服务(Relay-server),来完成 “利用消息路由功能完成新旧版本之间的消息互通”。 Relay-server 提供了大多数的消息转换,如:文字、语音、视频、图片、文件、位置等消息。 客户只需要进行简单开发即可高度适配客户特有需求,如客户的自定义消息转换等。 如有需要,请联系销售。

#其他迁移问题

#推送问题

为保证消息的到达率,环信 IM 服务支持各平台的推送通道,同时支持免打扰功能(即设定时间不收推送时,或者不接收某个群组的推送),如果旧的 IM 服务中有类似功能需要迁移的话,可以使用服务器的 API 提前设置,也可以使用 SDK 的 API 根据需要设置。

免打扰设置

#聊天室迁移

聊天室一般是临时使用的场景中加入退出,因此建议在迁移时通过后台 API 创建聊天室,用户在需要时加入退出即可。

#音视频功能迁移

音视频功能涉及到信令和媒体流协议的不同,暂无法平滑迁移,建议一次性迁移至环信服务器。

相似文档
  • Q:如何排查 环信即时通讯 IM 单聊消息丢失? A:问题描述: 在使用 环信即时通讯 IM 聊天的过程中,如果遇到用户 A 给用户 B 发消息,用户 B 没有接收到的情况(视为消息丢失),可以按照下面的说明进行排查。
  • Q:如何实现跨 app 聊天? A:如果您需要两个 app 之间可以互相通信,只要将 AppKey 写成同一个就可以实现跨 app 聊天。同时,您需要在环信即时通讯云控制台上传对应 app 的推送证书(可以是多个),这样可以确保您的两个 app 都能收到推送。
  • 技术支持: 环信即时通讯云提供三种形式的技术支持:智能助手咨询,支持邮箱和工单咨询。 智能助手: 登录 IM Console,点击屏幕下方的智能助手,咨询问题。 支持邮箱: 技术咨询邮箱:support@easemob.com。
  • 安全合规对于即时通讯技术至关重要,为了提供安全可靠的云服务,环信即时通讯 IM 遵循不同国家、地区和行业的合规要求。环信即时通讯 IM 采用多种安全措施,防御即时通讯场景中的常见攻击。本文介绍环信即时通讯 IM 采用的一些安全最佳实践以及为开发者提供的安全工具。
  • 环信 IM 提供一系列数据删除和导出 API,保护数据安全和用户隐私 ,确保符合 GDPR(通用数据保护条例)的安全合规要求。 数据删除: 为保护用户隐私,环信提供数据删除 REST API 供开发者对环信即时通讯服务器存储的用户相关数据进行删除,例如:删除用户账号、删除用户属性、删除群组和删除聊天室。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部