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, and provides offline message push and historical message roaming capabilities. It can be used for interest groups, work groups, customer service communications, and more.

Key points of group business:

  • The IM service is only responsible for delivering messages to all users in the 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) and utilize the group management functions provided by the hosting service.

  • 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 Functions 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 3000 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 enable message history roaming. This service is available for Chat Starter Plan and Chat Pro Plan. Specific features and pricing are subject to the RC Official Pricing Page.

Service Configuration

Some basic features and value-added services of 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, you can 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 functions 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 through server interfaces, after which group management functions can be accessed via client SDK.

Group Management Functions

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, group administrators, group announcements, group invitations, and group number searches are all part of the group business logic that needs to be implemented on the App side. If you wish to host group and member profile information on RC, please enable User Profile Hosting.

tip
  • When using the information hosting service, group members will receive operation status notifications for group management actions such as creation, voluntary joining, invitation joining, kicking out, leaving, dissolving, adding administrators, removing administrators, and transferring ownership. Since these notifications are implemented using 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 and set the group owner (group creator) and default group 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.

Function 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 a group, users no longer receive new messages from that group.Join Group, Leave Group
Modify Group Information on RC ServerModify group information used in RC push service.Refresh Group Information
Query Group MembersQuery all member user IDs 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 their application servers. If there are discrepancies in group relationships maintained by the App server, this interface can be used for verification.Query User's Groups
Synchronize User's GroupsSynchronize all groups a user currently belongs to with RC server to prevent inconsistencies between the App's user-group information and RC's records. If group and member data already exists on the App Server before integrating RC services, this interface can be used to synchronize existing user-group relationships when first connecting to RC server.Synchronize User's Groups
Mute Single User in GroupMute one or more users in a specified single group or all groups. Muted users can receive and view messages from other group members but cannot send messages via client SDK.Mute Single User
Mute All Group MembersMute all members of a group. All members of a muted group cannot send messages. To allow certain users to speak, add them to the group mute allowlist.Mute All
Group Mute AllowlistWhen a group is fully muted, users in the mute allowlist can still send group messages.Group Mute Allowlist

Group Chat Message Features

Group chat message features share some APIs and configurations with one-to-one chat.

FeatureDescriptionClient APIRC Server API
Send MessageSend regular or media messages (text, images, GIFs, etc.) or custom messages. Supports adding @mentions when sending messages.Send MessageSend Group Message
Send Targeted Group MessageSend regular or media messages to specified group members while excluding others.Send Targeted Group MessageSend Group Targeted Message
Receive MessageListen for real-time messages or receive offline messages upon client login.Receive MessageN/A
Group Message Read ReceiptAfter sending group messages, read status can be checked by first sending receipt requests and obtaining read data through recipient responses.One-to-One/Group Read ReceiptN/A
Offline MessagesSupports offline message storage with configurable duration (1-7 days). Default stores all group messages within 7 days, with adjustable storage duration and quantity.Manage Offline Message StorageAPI not provided
Offline Push NotificationsPush notifications for new group messages when offline.APNs Push GuideAPI not provided
Recall MessageRecall successfully sent messages.Recall MessageRecall Message
Local Message SearchSearch locally stored messages (mobile) by keyword or user within specified conversations.Search MessagesAPI not provided
Retrieve History MessagesGet 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 store all conversation history as compressed log files. Server APIs allow retrieval/deletion of specified app's message logs.API not providedGet Message Logs
Local Message InsertionInsert messages into local database without sending to server or recipients.Insert MessageN/A
Delete MessagesDelete specified messages or all history from local storage and server by conversation.Delete MessagesMessage Clearance
Message ExtensionsAdd status identifiers (KV pairs) to original messages, with interfaces for adding, removing, and querying extensions.Message ExtensionsOne-to-One/Group Message Extensions
Custom Message TypesCreate custom message types when built-in types are insufficient, including both regular and media message types.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):

Group Chat Conversation Features

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

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 from the local database.Get ConversationNot available
Get Unread MessagesRetrieve unread messages from a specified conversation, enabling features like jumping to the first unread message or displaying all unread mentions.Get Unread MessagesNot available
Handle Unread Message CountGet or clear the unread message count in conversations for UI display purposes.Handle Unread CountNot available
Delete ConversationRemove one or multiple conversations from the SDK-generated conversation list.Delete ConversationNot available
Conversation DraftSave draft content to a specified conversation.Conversation DraftNot available
Typing StatusConfigure whether to receive notifications for new messages in specified group conversations (default: enabled).Typing StatusNot available
Manage Conversation TagsCreate and manage tag information for grouping conversations. Each user can create up to 20 tags. User-created tag data is synchronized with RC servers.Manage TagsNot available
Set/Use Conversation TagsGroup conversations using tags.Set/Use TagsNot available
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 for DND/Pinned StatusThe SDK provides conversation status (pinned/DND) synchronization. By setting status listeners, changes made on other devices can be monitored in real-time.Multi-Device SyncN/A
Multi-Device Read Status SyncActively synchronize conversation read status across multiple devices under the same user account.Sync Read StatusN/A

Differences from Chatrooms and Ultra Groups

Refer to these documents to understand the distinctions between business types and their features: