This article aims to help you understand the basic concepts involved in IM.
Application
Chat manages different businesses or projects in the form of applications. You can create different applications for different businesses or projects in the IM console, thereby achieving isolation of business or project data. Each Tencent Cloud account can create up to 1,000 IM applications. SDKAppID
SDKAppID
(application identifier/app ID) is the unique identifier used by Tencent Cloud Backend to distinguish different IM applications. It is automatically generated when creating an application in the IM console. Data between different SDKAppIDs is not interconnected. Login Authentication
The "Login Authentication" in IM specifically refers to the authentication process where your App users establish a secure connection with the IM service. Your App users verify their identity using their unique UserID and a temporary security credential, UserSig, generated by your business server, thereby gaining access to the IM service. This process differs from your App's own account registration and login system and is a required step for your App users to connect to Tencent Cloud IM. For detailed information, refer to Login Authentication. UserID
UserID is the username used when a user logs in to IM, which is the user ID in your App.
For example, if there is a user in the App with the user ID 27149, you can use 27149 as the UserID for logging in to IM.
UserSig
UserSig (User Signature) is a security protection signature designed by Tencent Cloud to authenticate a user's login, confirm whether the user is genuine, and prevent malicious attackers from misappropriating your cloud service usage rights. For the specific generation method, please refer to generate UserSig. App Login Process
The recommended App sign-in process for Chat is as follows:
Note:
- IM backend fully trusts UserSig. To avoid data and business being affected, please ensure private key security.
The default UserSig generated by the IM backend SDK API is valid for 180 days. You can use the API with a validity parameter to manually set the valid period. Developers need to obtain a new UserSig from the developer backend before expiration.
App Admin
Some Chat services require administrator permissions, such as calling RESTful APIs, disbanding groups, and sending messages to all members. The App admin is the role with the highest level of privileges for an App, and its difference from an ordinary account is as follows:
Higher read permission. For example, search all groups in the App or retrieve any material from any group.
Higher operation permission. For example, send messages to any user or add or remove members in any group.
C2C Chat
One-on-one chat, a private dialogue between two users.
Group
The group system is a multi-user chat management feature provided by IM. For detailed information, refer to Group System. Group Type
Common use cases are configured with the following group types by default:
|
Work Group | Similar to an Ordinary WeChat Group, only friends already in the group can be invited to join after creation, and no need for invitee consent or group owner approval. |
Stranger Social Group (Public) | Similar to a QQ Group, the group owner can specify group admins after creation. Users can search the group ID to initiate a group join request, which requires group owner or admin approval to join. |
temporary meeting group (Meeting) | Freely enter and exit after creation, and support viewing messages before joining the group. Suitable for audio and video conference scenarios, online education scenarios, and other scenarios combined with TRTC. |
Live streaming group (AVChatRoom) | Freely enter and exit after creation, with no maximum number of group members, but does not support group member info and historical message storage. Suitable for live streaming products, used for on-screen comment chat scenarios. |
Community group | Freely enter and exit after creation, supporting 100,000 users by default. Enterprise customers can request expansion to million-scale, with historical message storage. Users can search group IDs to initiate group join requests without admin approval. |
Group Member
The roles and their permissions of group members are as shown in the table below.
|
ordinary member | Members without group permission management rights. | In a Work group, ordinary members have permission to updateGroupProfile. |
Administrator | Members appointed by the group owner to assist in managing the group have certain management permissions. | Update group profile Kick an ordinary member out of the group Mute an ordinary member (forbid them from speaking for a period of time) Approve other users' group join requests Work Group (Work) does not support setting an admin by default |
group owner | The group creator possesses the highest management permissions in the group. | The group owner has all the permissions of an admin, plus the following permissions: Appoint/Remove Administrator Kick an admin out of the group Mute the admin Disband Group Transfer Group |
App Admin | A special status with permission to manage all groups in the App, capabilities exceed group owner. | The App Admin may not be a member of the group, but has all the permissions of a group owner. |
Conversation
A user created a C2C chat or group chat. When messages are sent and received, the corresponding session is created. For detailed information, see Conversation Overview. Conversation List
After logging in to the App, users can view the latest conversation list like WeChat or QQ to easily find the target session. The session list function is mainly divided into getting the session list and processing session list updates. For detailed information, refer to Conversation List. Messages
Tencent Cloud Chat provides a complete C2C Chat and Group Messages solution. It supports sending and receiving multiple message types such as text, images, and voice. Basic capabilities include message history querying, multi-device synchronization, and Offline Push. Extended features include permission control and sender profile carry.
Message Types
C2C Chat/Group Messages message types as shown in the table below
|
text message | The message content is text. |
emoji message | The emoji message is for developer customization. |
location message | The message content includes the geographic location title, longitude, and latitude information. |
image message | The message content includes the image URL address, size, and image size, etc. It supports a maximum of 28 MB images. |
Voice Message Service (VMS) | The message content includes the voice file URL address, size, and duration, etc. It supports a maximum of 28 MB voice files. |
file message | The message content includes the file URL address, size, and format, etc. The format is unlimited and supports up to 100 MB files. |
short video message | The message content includes the short video file URL address, duration, size, and format, etc. It supports up to 100 MB short video files. |
Custom Messages | Developer customization message types, such as red packet messages and rock-paper-scissors messages. |
merge message | Combine multiple types of messages (such as text, images, speech, etc.) into one message for sending or forwarding. |
Webhook
A Webhook, also known as a Chat backend, will send a request to the App backend server before or after an event occurs. The App backend can use this to perform necessary data sync or intervene in the event's follow-up workflow. For currently supported callbacks in Chat, please refer to Webhook Command List. For details on message callbacks, see Webhook Overview. Message Storage
Chat supports message roaming, allowing users to obtain chat records with other users or certain groups even when switching terminals. Different SDK versions support extending message storage duration for different message types. For details, see Message Storage. Online Status Management
User status types:
Online: The client user maintains a smooth TCP network connection with the IM server, allowing the client to send messages to the IM server and receive messages from the IM server.
PushOnline: The TCP persistent connection between the client user and the IM server is disconnected. At this point, offline push messages can be received.
Offline: The user has not entered a username and password before login. At this point, they cannot receive online push messages or offline push messages.
Push Service (Push)
Push Service (Push) is an all-in-one App message Push solution launched by Tencent Cloud IM. It provides comprehensive coverage across multiple platforms and channels, including Android & iOS, WeChat mini program frameworks, and uni-App. With one-click integration achievable in as fast as 3 minutes, it enables millisecond-level delivery. Through regular messages, all users/Tag, and single-Push methods, along with full-link statistical analysis capability, it ensures precise and efficient Push, stable and secure service operation, helping you easily increase user retention and interaction engagement. For detailed information, refer to Push Service (Push). TUIKit Component Related
TUIKit is a UI component library based on Tencent Cloud IM SDK. It provides some common UI components, including session, chat, search, relationship chain, group, audio and video call and other features. With these UI components, you can quickly build your own business logic like building blocks. For details, see TUIKit Component Introduction.Subcomponent
TUIKit component includes the following child components, which can be integrated on demand individually or as a composite.
TUIChat, a UI component that supports message interface display and sending messages.
TUIContact, a UI component that supports contact person display and permission setting.
TUIConversation, a UI component that supports session list display and edit.
TUISearch, a UI component that supports local search and is searchable for contact persons, group chats, and chat records.
TIMPush, a UI component that supports Offline Push Message Display.
TUICallKit, a UI component that supports voice and video calls. TUIRoomKit, a UI component that supports multi-person audio and video. TUILiveKit, a UI component that supports interactive co-anchoring, gift sending, room management and other features.