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:
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
username
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.
groupId
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
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
REST API
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
-
Create an app on the web console and get the AppKey. If you have used JPush before, you can directly use the old AppKey.
-
Integrate the client SDK.
-
Integrate IM SDK into App
- Android developers please refer to the document: JMessage Android SDK Integration Guide
-
iOS developers please refer to the documentation: JMessage iOS SDK Integration Guide
-
Send a message by using the management console, or by calling the REST API to manage users.