JMessage 产品简介

认识极光 IM

极光 IM(英文名 JMessage)致力于帮助 App 解决应用内聊天和跨应用聊天问题,开发者可集成SDK,快速实现稳定可靠的聊天功能。目前提供 iOS / Android / web / PC(Windows、macOS) 的 SDK,以及 Rest API 和后台管理系统,满足开发者不同场景下的需求,大大减少开发成本,提高效率。

模块化的极光开发者SDK

极光开发者服务SDK采用了模块化的使用模式,即一个核心模块 (JCore)+N 种服务(IM,JPush,JAnalytics)的使用方式,方便开发者同时集成多项极光开发者服务,极大的优化了多模块同时使用时功能模块重复的问题。如下图:

java im方案 java im系统_群组

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 的架构

java im方案 java im系统_极光im支持android手机系统_02

上图是 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 控制台集成在一起,可进行用户和群组的一些基本维护。

创建应用

注册用户

用户管理

群组管理

聊天室管理

发送消息

数据统计

集成流程

在 Web 控制台上创建应用,得到appkey。如果之前已经使用了 JPush,可以直接延用老的appkey。

集成客户端 SDK。

集成 IM SDK 到 App 里。

Android 开发者请参考文档:JMessage Android SDK 集成指南

iOS 开发者请参考文档:JMessage iOS SDK 集成指南

通过管理控制台,或调用 REST API 管理用户,发送消息。