MobIM 的iOS实现方式
MobIM SDK是Mob为广大开发者在即时通讯领域能够快速得到解决方案而开发的一套SDK,旨在提供最快捷的集成方式,最简便的使用方法,最可靠的技术服务。
一、MobIM整体架构与功能模块
MobIMSDK 为开发者提供一套完整的IM开发框架,整体架构包括如下几个部分:
MobIMSDK_Core:为SDK的核心模块,负责消息同步协议的实现,与服务器进行数据通信。
MobIMSDK:是基于SDK核心模块实现的完整的IM功能,主要是不同类型的消息收发,以及会话管理,好友,群组等功能。
MobIMUI:是一组IM相关的UI控件,只要是帮助开发者快速集成MobIMSDK。
开发者可以面向UI进行快速集成,也可以直接面向SDK,自行构建UI调用SDK提供的接口。
MobIMSDK整体采用模块化设计,每个模块的功能相对独立和完善,开发者可以根据自己的需求选择使用以下模块:
MobIM:是SDK的主入口,主要是完成登陆,退出,连接管理等功能。同时负责其他模块的调用。
MIMChatManager:负责消息收发,会话管理等功能。
MIMContactManager:负责管理好友的添加,删除,黑名单等功能。
MIMGroupManager:负责群组管理,包括创建群,删除群,群成员,群信息管理等等。
二、MobIM SDK 业务流程
开发使用SDK时可参考如下业务流程图,方便理解与集成SDK。
1.客户端集成,启动并初始化SDK;
2. 客户端自行构建UI并调用SDK相关接口,进行聊天状态初始化,准备开始聊天;
3. 发送消息经过SDK包装与存储,再通过核心SDK发送给服务器,服务器进行转发;
4.服务器转发数据时,核心SDK接收到数据会进行实时上报,到SDK层进行数据包装与存储,同时返回给开发者;
三、相关说明
即时通讯领域三大重要的问题,一个是通讯方式,基于TCP还是UDP的一个选择,一个是数据格式,目前有很多数据格式协议,可以说是各有千秋,MobIM选择在JSPP协议的基础上做了业务相关优化,还有一个就是数据存储,在MobIM的iOS客户端选择了iOS系统的CoreData作为数据存储工具。