Overview
Update time: 2024/08/27 16:02:20
Overview
CommsEase Instant Messaging (IM) is a cloud-based messaging platform that is endowed with messaging technical expertise and industrical practice for over 20 years.
Instant Messaging provides a complete set of instant messaging basic capabilities. You can integrate instant messaging and real-time network capabilities into your applications. For different scenarios, CommsEase provides a series of products and technical solutions, including: client IM components, client IM basic library, SDKs for most platforms, and server APIs. Using these solutions, you can build instant messaging features in your applications, and create your own instant messaging scenarios without limit.
IM SDK allows you to build basic features such as private messaging, chatting, message notification, and in-game communication. You can also use IM SDK to create large-scale social applications like Discord, WeChat, Bullet SMS, and Yixin.
Architecture
Features
P2P chat
Peer-to-peer chat allows you to send text, image, audio, video, location, file, notification, alert, chatbot, and custom messages. Also, extra features, such as offline messages, roaming messages, multi-device sync, cloud-based message history, and push notifications are available.
For more information, see Messaging
Group chat
You can create groups with IM. A group provides you with permissions to manage members of different roles.
For more information, see Groups
Chat room
A chat room has a looser form than a group. Users can join and leave a chat room at any time. In general, no fixed organization is required for a chat room. You can use chat rooms in scenarios, such as chats in live streaming and remote learning.
For more information, see Chat room
Managed profiles
CommsEase can manage the user profiles of your messaging app, including account, nickname, gender, avatar, bio, phone number, email, birthday, and extended fields. The service is optional. You can implement your own service for storing user profiles.
To use managed data of user profiles, see:
- iOS: User profile storage
- Android: User profile storage
- Windows: User profile storage
- Web: User profile storage
Managed relationship data
Managed data of user relationship is used to maintain the friend relationship between users, including adding friends, deleting friends, friend lists, blacklists, and more.
To integrate the managed data of user relationship for platforms, see:
- Server: User relationship data storage
- iOS: User relationship data storage
- Android: User relationship data storage
- Windows: User relationship data storage
- Web: User relationship data storage
Push notifications
The push notification service is an important way to ensure the delivery rate of IM messages on mobile devices. NIM SDK has introduced third-party push notification since v3.2.0 to increase the delivery rate. The supported third-party venders include Google FCM, Xiaomi Push, Huawei Push, OPPO Push, VIVO Push, and Meizu Push. Using NIM SDK, you can quickly access third-party push service on supported devices. If NIM SDK is disconnected from the server, messages sent from contacts will be pushed through the third-party push platform to users, thereby improving the efficiency of message delivery.
To integrate the push services from third parties, see:
- iOS APNs
- [FCM](/en/docs/TM5MzM5Njk/zc1OTI2MTM?#Push notifications)
Data sync
Data sync is a synchronization service provided by CommsEase. This service allows you to sync data such as messages/events to preset app servers in real time. You can use this service to achieve independent historical message storage, synchronization of user online status, special event handling and more.
For more information, see Data sync.
Event subscription
CommsEase IM v3.6.0 supports event subscription and publishing. IM Demo implements online status display based on event subscription. You can refer to the implementation of event subscription in the demo app and make modifications based on your own scenarios.
For more information about how to implement event subscription, see: