更新时间: 2020-04-07

# 基础架构介绍

融云提供的即时通讯服务,不需要在 App 之外建立并行的用户体系,不用同步 App 下用户信息到融云,不影响 App 现有的系统架构与帐号体系,与现有业务体系能够实现完美融合。

融云的架构设计上具有如下特点:

  • 无需改变现有 App 的架构,直接嵌入现有代码框架中;
  • 无需改变现有 App Server 的架构,独立部署一份用于用户授权的 Service 即可;
  • 专注于提供通讯能力,使用私有的二进制通信协议,消息轻量、有序、不丢消息;
  • 安全的身份认证和授权方式,无需担心 SDK 能力滥用(盗用身份的垃圾消息、垃圾群发)问题。
App -> AppServer: 通过应用服务器维护应用中业务数据,如:用户信息、好友关系等 AppServer -> RongCloudServer: 应用服务器和融云服务器进行身份授权,不需要提交用户资料 RongCloudServer --> AppServer: 返回授权 Token AppServer --> App: 返回授权 Token App -> RongCloudServer: 使用 Token 连接融云 IM 服务,授权成功后,即可使用融云服务器转发送消息

说明:

  • App 需要同 App Server 之间进行信息交互,如:获取用户数据、用户好友关系,融云不维护 App 的用户系统和好友关系;
  • App Server 只需要和 RongCloud Server 进行身份授权,不需要提交详细用户资料及好友关系,开发者可根据自身的业务情况选择在应用加载或需要使用 IM 服务时进行授权。
  • App 发送消息需要经过 RongCloud Server 转发给目标终端设备,因为目标用户的离线、通知等逻辑决定了消息必须经由服务器进行一次转发;

# SDK 体系架构

本文档将介绍融云的 SDK 产品架构和消息体系,以便开发者更深入的了解融云并更快速开发自己的产品。

由于IMKit依赖IMLib,所以其实IMLib中的全部能力,IMKit中都具备,如聊天室。

IMKit

IMKit SDK 是对融云 IM 即时通讯能力在 UI 界面的封装,方便开发者快速实现自己的产品,主要特点是支持快速集成,提供丰富的界面定制功能。

IMLib

IMLib SDK 提供基本通信能力库,封装了通信能力和 Conversation,Message 等各种对象,服务于需要根据自己的产品去自己实现界面的开发者。主要特点是封装清晰,轻量,便于使用。

Protocol

Protocol 是融云的核心协议栈,使用融云自定义的私有二进制协议。主要特点是是轻量化,有序可靠,不丢消息。Protocol 部分使用 Native 语言开发,在 Android 和 iOS 平台上保证业务一致性,便于开发者商用化自己的产品。

# SDK 集成流程

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助