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 features such as group member management, mute management, offline push notifications, and historical message roaming. These can be used for interest groups, workgroups, customer service communication, and more. IMKit provides out-of-the-box group chat UI components.
Service Configuration
The client SDK supports group services by default, with no need for additional activation. Some basic features and value-added services can be enabled and configured in the Console under Basic features and IM service management.
- There is no limit to the number of groups that can be created under an App Key. A single user can join an unlimited number of groups.
- Groups have a capacity limit. By default, the 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 App Keys in the production environment, this service is only available for IM Premium and IM Enterprise plans.
- By default, users can only view group messages sent after they join the group. Once the service is enabled, new members can access historical messages sent before they joined. For details, see Enable Access to Pre-Join Historical Messages for New Members.
Client SDK Notes
- The client SDK (IMKit/IMLib) does not provide APIs for group management. To create a group, your App server must call RC's server API. Other operations, such as disbanding a group, joining or leaving a group, etc., must also be performed by your App server via RC's server API. See Group Management Features below.
- Features like group owner, group administrator, group announcements, invitation to join, and group ID search are part of group business logic and must be implemented on the App side.
- RC is only responsible for delivering messages to all group members and does not maintain group member profiles (avatars, names, member cards, etc.). Your App must maintain this data on your business server and implement relevant IMKit interfaces to provide the data to IMKit. See User Information.
Group Management Features
For client developers, basic management operations like creating or disbanding a group only require interaction with your App's business server. Your App server is responsible for calling the corresponding RC server API (Server API) to complete these operations.
Server API | Description |
---|---|
Create Group, Dismiss Group | Provide the creator's user ID, group ID, and group name to request group creation from RC's server. Disbanding a group removes all member relationships. |
Join Group, Quit Group | After joining a group, members can view new messages by default. After leaving, they no longer receive new messages from the group. |
Refresh Group Info | Update group information used in RC's push service. |
Query Group Members | Retrieve the user IDs of all members in a specified group. |
Query User's Groups | Retrieve all groups a user has joined based on their user ID, returning group IDs and names. RC does not store group profile data; you must maintain this on your App server. If discrepancies arise, use this API to verify. |
Sync User's Groups | Synchronize all groups a user has joined with RC's server to ensure consistency between your App's data and RC's records. Use this when integrating RC for the first time if your App server already has group and member data. |
Mute a User | Mute one or more users in a specific group or all groups. Muted users can receive messages but cannot send them via the client SDK. |
Mute All | Mute all members in a group. No one can send messages unless added to the mute allowlist. |
Add to Mute Exceptions | Users on the allowlist can send messages even when the group is muted. |