Group Overview
Group chat is a common multi-user communication method in instant messaging applications, typically involving two or more users. RC's group services support rich group member management, mute management, offline push notifications, and historical message roaming. These features are suitable for interest groups, office groups, and customer service communication. Global IM UIKit provides out-of-the-box group chat UI components.
Service Configuration
The client SDK supports group services by default, and no application is required to enable it. Some basic features and value-added services can be enabled and configured in the Console's Basic features and Chat pricing plans pages.
- There is no limit to the number of groups that can be created under an App Key. There is no limit to the number of groups a single user can join.
- Groups have a capacity limit. The default maximum number of group members is 3,000, which can be modified by submitting a ticket.
- By default, the Cloud Storage for One-to-One and Group Messages service is not enabled for an App Key. You can enable it yourself. For details, see Enable Cloud Storage for One-to-One and Group Messages. For production environment App Keys, only Chat Premium Plan and Chat Ultimate Plan can enable this service.
- By default, users can only view group chat messages after they join the group. After enabling the service, new group members can access historical group chat messages before they joined. For details, see Enable New Users to Access Historical Group Messages Before Joining.
Client SDK Usage Notes
- The client SDK (Global IM Kit/IMLib) does not provide APIs for group management. To create a group, the App server must request the RC server API. Other operations such as disbanding a group, joining a group, and exiting a group must also be performed by the App server requesting the RC server API. See Group Management Features below.
- Group owner, group administrator, group announcement, group invitation, and group number search are all group business logic that needs to be implemented on the App side.
- RC is only responsible for delivering messages to all users in the group and does not maintain group member profiles (avatars, names, group member cards, etc.). The App needs to maintain related data on its business server and implement relevant interfaces of Global IM UIKit to provide data to Global IM UIKit. See User Information.
Group Management Features
For client developers, basic management operations such as creating and disbanding groups only require interaction with the App's own business server. The App server is responsible for calling the corresponding RC server API (Server API) interfaces to complete the related operations.
Server API | Description |
---|---|
Create Group, Disband Group | Provide the creator's user ID, group ID, and group name to apply for group creation with the RC server. If the group is disbanded, the group member relationships no longer exist. |
Join Group, Exit Group | After joining a group, users can view new messages generated after joining by default. After exiting a group, users no longer receive new messages from that group. |
Refresh Group Information | Modify group information used in RC push services. |
Query Group Members | Query the user ID information of all members in a specified group. |
Query Groups by User | Query all groups a user has joined based on the user ID, returning the group ID and group name. RC does not store group profile information. Group profiles and member information need to be maintained by the developer on the application server. If there are discrepancies in the user-group relationships maintained by the application server, this interface can be used for verification. |
Synchronize User Groups | Synchronize all groups a specified user has joined with the RC server to prevent inconsistencies between the user's group information in the application and the user's group information on the RC server. If there are existing group and member data on the App Server before integrating RC services, this interface can be used to synchronize the existing user-group relationships with RC during the first connection to the RC server. |
Mute Specified Group Members | Mute one or more users in a specified single group or all groups. Muted users can receive and view messages from other users in the group but cannot send messages via the client SDK. |
Set Group-Wide Mute | Mute all members of a group. All members of a muted group cannot send messages. If certain users need to speak, they can be added to the group mute allowlist. |
Add to Group-Wide Mute Allowlist | After a group is muted, users in the mute allowlist can send group messages. |