Product Introduction of JMessage

Know JMessage

JMessage is dedicated to helping apps solve issues of in-app chats and cross-application chats, so that developers can integrate SDKs to quickly achieve stable and reliable chat features. The iOS, Android, web, and Windows SDKs, as well as the Rest API and background management system are currently available to meet the needs of developers in different scenarios, greatly reducing development costs and improving efficiency.

Modular Jiguang Developer SDK

The Jiguang Developer Service SDK adopts a modular usage model, namely a core module (JCore) + N kinds of services (IM, JPush, JAnalytics) to facilitate developers to integrate multiple Jiguang developer services at the same time and optimize the problem of duplicate function modules when multiple modules are used simultaneously. As shown below: jiguang

The difference between JMessage and JPush

JMessage starts from the IM usage scenario and sends messages to the user based on the login account. However, JPush meets the push scenario, faces the mobile device, and pushes according to the device's tag and usage attributes.

JPush JMessage
Usage scenarios Application push IM chat, social
Object-oriented Equipment User, account
Message object App operators or App Server pushes to user Users communicate with each other
Sending method Supports broadcast, tag, or single device Single chat, group chat

How to choose JPush and JMessage services

Developers can choose the applicable business according to their own business scenarios.

  • If your application needs instant messaging capabilities to meet the interactive needs of users, then JMessage is for you.
  • If your application is primarily based on sending feature announcements, campaign promotions, subscriptions and broadcast content, you should choose a more concise push service. If subsequent services need to be extended, JMessage can be integrated again without any impact on the original Push function.

The Basic Concept of JMessage


This is the username of the App. It is used to uniquely identify the user in the app and must be unique.

What the App actually uses when calling the IM SDK can be its user ID, user account name, or Email. Any one of them can uniquely identify its user.


The group ID will be obtained when the app creates a group by using the grouping function provided by JMessage. This group ID is required for sending group messages, adding people, and kicking people.


AppKey is used to uniquely identify an app and needs to be created in the management console. When the SDK is integrated, this key needs to be configured so that the system can identify that which application owns the current user .

Note: The username must be unique in the same AppKey, and the username can be the same between different AppKeys.

Architecture of IM and JPush


The above figure shows the overall architecture of JPush and IM services. It can be understood that:

  • Push supported in the IM SDK uses the same long network connection as JPush.
  • Server-side access servers are shared between two services.
  • Above the access server, the two services are relatively independent and separate.

The Advantages of JMessage

  • Technically based on large-scale, highly concurring and stable push services provided by JPush as well as inherit these characteristics.
  • The IM SDK shares a network connection with the JPush SDK and supports both IM and Push services.
  • IM is perfectly compatible with Push. Users who have already used the Push service can integrate IM and upgrade smoothly.
  • The JPush team had previously developed the IM App and have a deeper understanding of the IM business to continuously improve and revolutionize IM services.

Functions and Features of JMessage

Overall characteristics

  • Message type: text, voice, picture, geographic location, file, custom message, etc.
  • Chat methods: single chat, group chat.
  • Platform support: multi-platform interoperability across Android, iOS, Web.
  • User maintenance: registration, login, avatar, and other information.
  • Group maintenance: create groups, join groups, leave groups.
  • Offline messages: choose whether you want to save offline messages
  • Relationship mode: friend mode and no friend mode
  • Cross-application chat: users in different applications can communicate with each other


Provides HTTP APIs that meet the REST specification to use commonly used features. There are several categories:

  • registered users (support batch)
  • Send a message
  • User information maintenance
  • User relationship maintenance
  • Group maintenance

Management console

Integrated with the JPush console for basic maintenance of users and groups.

  • Create an application
  • Registered user
  • Manage users
  • Maintain group
  • Send a message

Integration Process

  1. Create an app on the web console and get the AppKey. If you have used JPush before, you can directly use the old AppKey.

  2. Integrate the client SDK.

  3. Integrate IM SDK into App

  4. Android developers please refer to the document: JMessage Android SDK Integration Guide
  5. iOS developers please refer to the documentation: JMessage iOS SDK Integration Guide

  6. Send a message by using the management console, or by calling the REST API to manage users.

Copyright 2011-2020,, All Rights Reserved.
粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

Documentation built with MkDocs.