Skip to main content

Group Business Overview

Group chat is a common multi-user communication method in instant messaging applications, typically involving two or more users. RC's group business supports rich group member management, mute management features, offline message push notifications, and historical message roaming, suitable for interest groups, work groups, and customer service communications.

Key points of group business:

  • The IM service is only responsible for delivering messages to all users in a group, and does not maintain group member profiles (avatars, names, member cards, etc.) by default. If you need to host group and member profile information on RC, you can use the User Profile Hosting service (enabled by default) to manage and maintain group information.
  • When not using RC's information hosting service, group management operations such as creating/dissolving/joining/leaving groups must be implemented by the application server through RC's server API. The IM client SDK does not provide corresponding methods. See Group Management Features below for details.
  • RC's information hosting service provides new group management capabilities, supporting group management through both server API and client SDK.
  • There is no limit to the number of groups that can be created under an App Key, with a maximum of 3,000 members per group. To modify the group member limit, consult RC's business team.
  • There is no limit to the number of groups a single user can join.
  • The Cloud Storage for One-to-One and Group Messages service is enabled by default. You can use RC's message storage service to implement message history roaming. This service is available for Chat Starter Plan or Chat Pro Plan. Specific features and pricing are subject to the RC Official Pricing Page.

Service Configuration

Some basic features and value-added services for group business can be enabled and configured on the Chat settings page of the RC Console. If you need to host group and member profile information on RC, use the User Profile Hosting service (enabled by default).

Client SDK Usage Notes

tip
  • Only IMKit provides out-of-the-box group chat UI components. IMLib does not provide ready-to-use group chat UI components. IMKit depends on IMLib, so IMKit has all the capabilities of IMLib.
  • Groups created through the information hosting service support group management via client SDK. This feature is supported starting from SDK version 5.12.0.
  • For groups not created through the information hosting service, the client does not provide group management APIs. Group management must be completed by the App server calling the corresponding RC server API (Server API) interfaces. Alternatively, existing groups can be imported into the information hosting service via server interfaces, after which group management functions can be accessed through the client SDK.

Group Management Features

By default, RC does not host user information or manage group business logic, so all group business logic must be implemented on the App server. When not using RC's information hosting service, features like group owners, administrators, announcements, invitations, and group number searches are part of the group business logic and must be implemented on the App side. If you wish to host group and member profile information on RC, enable User Profile Hosting.

tip
  • When using the information hosting service, group members will receive operation status notification callbacks for group management actions such as creation, active joining, invited joining, kicking out, leaving, dissolving, adding administrators, removing administrators, and transferring ownership. Since these notifications are implemented as messages, they will be counted in group message distribution and downstream data statistics.
  • For groups created without hosting functionality, if you want to use group hosting capabilities, you need to call the "Import Group Hosting Data" interface to set the group owner and default permissions before use.

The table below lists the basic group management interfaces provided by the IM server for non-hosted capabilities. Note that group management must be completed by the App backend calling the corresponding IM server API (Server API) interfaces. After enabling the information hosting service, the client can provide management APIs for hosted groups.

Feature CategoryDescriptionRC Server API
Create/Dissolve GroupsProvide creator user ID, group ID, and group name to request group creation from RC server. Dissolving a group removes all member relationships.Create Group, Dissolve Group
Join/Leave GroupsAfter joining a group, users can view new messages by default. After leaving, they no longer receive new messages from the group.Join Group, Leave Group
Modify Group Info on RC ServerModify group information used in RC's push service.Refresh Group Info
Query Group MembersQuery user ID information for all members of a specified group.Query Group Members
Query User's GroupsQuery all groups a user has joined based on user ID, returning group IDs and names. RC does not store group profile information; group profiles and member information must be maintained by developers on the application server. If there are discrepancies in the server-maintained user-group relationships, this interface can be used for verification.Query User's Groups
Sync User's GroupsSynchronize all groups a specified user has joined with RC server to prevent inconsistencies between the application's user-group information and RC's records. If group and member data existed on the App Server before integrating RC services, this interface can be used to sync existing user-group relationships during the first connection to RC server.Sync User's Groups
Mute a User in GroupMute one or more users in a specified group or all groups. Muted users can receive and view messages from others but cannot send messages via client SDK.Mute a User
Mute All in GroupMute all members in a group. All muted members cannot send messages. To allow certain users to speak, add them to the group mute allowlist.Mute All
Group Mute AllowlistWhen a group is muted, users in the allowlist can still send group messages.Mute Exceptions

Group Chat Message Features

Group chat message features are similar to one-to-one chat functionality, sharing some APIs and configurations.

FeatureDescriptionClient APIRC Server API
Send MessageSupports sending regular and media messages, such as text, images, GIFs, or custom messages. Includes mention functionality when sending messages.Send MessageSend Group Message
Send Targeted Group MessageSupports sending regular and media messages to one or multiple specified group members, while other members won't receive the message.Send Targeted MessageSend Targeted Group Message
Receive MessageListen and receive messages in real-time, or receive offline messages when the client comes online.Receive MessageN/A
Group Message Read ReceiptAfter sending a group message, if you need to check read status, first send a read receipt request, then obtain read data through recipients' responses.Read ReceiptN/A
Offline MessagesSupports offline message storage with configurable duration (1-7 days). Default stores all group messages within 7 days, adjustable for duration and quantity.Manage Offline Message StorageAPI Not Provided
Offline Push NotificationsWhen offline, supports push notifications for new group messages.Android Push GuideAPI Not Provided
Recall MessageAllows recalling successfully sent messages.Recall MessageRecall Message
Local Message SearchMessages stored locally (mobile) support keyword or user-based search within specified conversations.Search MessagesAPI Not Provided
Get History MessagesRetrieve history messages from local database or remote server. Note: Remote retrieval requires Cloud Storage for One-to-One and Group Messages service (default 6-month storage).Get History MessagesAPI Not Provided
Get Message LogsRC server can save all conversation history as compressed log files. Use server API to retrieve or delete message logs for specified Apps.API Not ProvidedGet Message Logs
Insert Local MessageInsert messages into local database. Locally inserted messages aren't actually sent to server or recipients.Insert MessageN/A
Delete MessageSupports deleting specific messages or all history messages from a conversation, both locally and on server.Delete MessageMessage Clear
Message ExtensionsAdd status identifiers (KV pairs) to original messages, providing interfaces for adding, deleting, and querying extension information.Message ExtensionsOne-to-One/Group Message Extensions
Custom Message TypesSupports custom message types (both regular and media) when built-in types don't meet requirements.Custom Message TypesN/A

By default, new group members can only receive messages sent after joining. To view pre-join history messages, enable these two services for your App Key (note the development/production environment distinction):

FeatureDescriptionClient APIRC Server API
Get ConversationThe SDK automatically generates corresponding conversations in the local database based on sent/received messages. You can retrieve the conversation list generated by the SDK from the local database.Get ConversationNot provided
Get Unread MessagesRetrieve unread messages from specified conversations, enabling features like jumping to the first unread message or displaying all unread mentions.Get Unread MessagesNot provided
Handle Unread CountGet or clear the unread message count in conversations for UI display purposes.Handle Unread CountNot provided
Delete ConversationRemove one or multiple conversations from the SDK-generated conversation list.Delete ConversationNot provided
Conversation DraftSave draft content to a specified conversation.Conversation DraftNot provided
Typing StatusConfigure whether to receive notifications for new messages in specified group conversations (default: enabled).Typing StatusNot provided
Manage Conversation TagsCreate and manage tag information for categorizing conversations. Each user can create up to 20 tags. Tag data created by app users will sync with RC servers.Manage Tag InformationNot provided
Apply Conversation TagsUse tags to group conversations.Apply Conversation TagsNot provided
Pin ConversationPin specified conversations to the top of the conversation list.Pin ConversationPin Conversation
Do Not DisturbControl whether users receive push notifications for offline messages. Supports per-conversation or per-conversation-type DND settings.DND OverviewDND Overview
Multi-device Sync StatusThe SDK provides conversation status (pinned/DND) synchronization. By setting status listeners, devices can detect real-time status changes made on other devices.Multi-device SyncN/A
Multi-device Read StatusActively synchronize conversation read status across multiple devices under the same user account.Multi-device Read SyncN/A

Differences from Chatrooms and Ultra Groups

Understand feature distinctions between business types through these documents: