JMessage 产品简介
认识极光 IM
极光 IM(英文名 JMessage)致力于帮助 App 解决应用内聊天和跨应用聊天问题,开发者可集成SDK,快速实现稳定可靠的聊天功能。目前提供 iOS / Android / web / PC(Windows、macOS) 的 SDK,以及 Rest API 和后台管理系统,满足开发者不同场景下的需求,大大减少开发成本,提高效率。
模块化的极光开发者SDK
极光开发者服务SDK采用了模块化的使用模式,即一个核心模块 (JCore)+N 种服务(IM,JPush,JAnalytics)的使用方式,方便开发者同时集成多项极光开发者服务,极大的优化了多模块同时使用时功能模块重复的问题。如下图:
JMessage 与 JPush 的区别
JMessage 以 IM 使用场景出发,面向用户根据登录帐号来收发消息;而 JPush 则满足推送场景,面向移动设备,根据设备的标签以及使用属性进行推送。
JPush | JMessage | |
---|---|---|
使用场景 | 应用推送 | IM聊天、社交 |
面向对象 | 设备 | 用户、帐号 |
消息对象 | App 运营人员或者 App Server 向用户推送 | 用户之间互相交流 |
发送方式 | 支持广播、Tag,或者单设备 | 单聊、群聊 |
JPush 与 JMessage 服务如何选择
开发者可以根据自身业务场景来选择适用的业务。
- 如果你的应用需要实现即时通讯功能,满足用户间的互动需求,那么 JMessage 是为您准备的。
- 如果应用主要以发送功能通知,活动推广,订阅与广播内容为主,应该选择更为简洁的推送服务。如果后续业务需要扩展,可以再集成 JMessage,对原有的 Push 功能无任何影响。
JMessage 基本概念
username(用户名)
这是 App 的用户名,App 里用来唯一地标识其用户,必须唯一。
App 调用 IM SDK 时实际使用的,可以是其用户的 ID,用户帐号名,或者 Email,总之任何一个能唯一地标识其用户的都可以。
groupId(群组ID)
App 使用 JMessage 提供的群组功能创建群组时得到的群组标识。发群组消息、加人、踢人等操作,都需要这个群组ID。
AppKey(应用Key)
用来唯一标识一个 App,需要在管理控制台创建。SDK 集成时,需要配置此 Key,以便系统识别当前用户属于某个应用。
说明:同一个 AppKey 里用户名必须唯一,不同的 AppKey 之间用户名可以重名。
IM 与 JPush 的架构
上图是 JPush 与 IM 服务的整体架构图。通过此图可以理解:
- IM SDK 中支持的推送,与 JPush 使用同一个网络长连接。
- 服务器端接入服务器在两个服务之间是共享的。
- 接入服务器之上,二套服务整体相对独立、分离。
JMessage 的优势
- 以极光推送的大规模、高并发、稳定的推送服务为技术基础,并继承这些特性。
- IM SDK 与 JPush SDK 共用一个网络连接,同时支持 IM 与 Push 业务。
- IM 完美兼容 Push ,已使用 Push 服务的用户可同时集成 IM,平滑升级。
- JPush 团队之前就是开发 IM App 的,对 IM 业务具有更深刻的理解,能够持续地改进与革新 IM 服务。
JMessage 功能与特性
整体特性
- 消息类型:文字、语音、图片、地理位置、文件、自定义消息等。
- 聊天方式:单聊、群聊、聊天室。
- 平台支持:Android,iOS,Web,PC 多平台互通。
- 用户维护:注册、登录、头像、用户其他信息。
- 群组维护:创建群组、加群、退群。
- 离线消息:可选择是否需要保存离线消息
- 关系模式:有好友模式和无好友模式
- 跨应用聊天:不同应用下的用户可相互通信
- 实时音视频:支持一对一和多对多语音通话和视频通话
REST API
提供满足 REST 规范的 HTTP API 来使用常用的功能。
有如下几个类别:
- 注册用户(支持批量)
- 发送消息
- 用户信息维护
- 用户关系维护
- 群组维护
- 聊天室维护
管理控制台
与 JPush 控制台集成在一起,可进行用户和群组的一些基本维护。
- 创建应用
- 注册用户
- 用户管理
- 群组管理
- 聊天室管理
- 发送消息
- 数据统计
集成流程
集成客户端 SDK。
- 集成 IM SDK 到 App 里。
Android 开发者请参考文档:JMessage Android SDK 集成指南
iOS 开发者请参考文档:JMessage iOS SDK 集成指南
- 集成 IM SDK 到 App 里。
通过管理控制台,或调用 REST API 管理用户,发送消息。