Skip to main content

Ultra Group Overview

  • The client IMLib SDK has supported Ultra Groups since SDK version 5.2.0. IMKit currently does not support Ultra Group functionality.
  • Unless otherwise specified, most Ultra Group Android client interfaces are located in ChannelClient.

RC Ultra Groups (UltraGroup) provide a new form of group communication. Ultra Groups have no member limit, allowing users to establish social relationships within super communities and focus on content of interest amidst massive information flow, helping developers build highly engaging communities. Ultra Group members can join up to 100 Ultra Groups, with all channels under the same Ultra Group sharing the same member relationships. There is no limit to the number of Ultra Groups within an App.

The conversation type (ConversationType) for Ultra Group services is ConversationType.ULTRA_GROUP, where targetId represents the Ultra Group ID and channelId represents the Ultra Group channel ID. Unless otherwise specified, most Ultra Group Android client interfaces are located in ChannelClient.

Enabling the Service

The Ultra Group feature is available in the development environment (dev). In production environments, this feature is supported for Chat Pro Plan and is not supported for Chat Starter Plan.

How to Use Channels

Ultra Groups support creating independent channels within group conversations (specified by channelId on the client side, corresponding to busChannel on the server side). Ultra Group conversations, messages, unread counts, and member data can be aggregated by channel, with messages being independent across channels.

Channels are categorized into public channels and private channels. Public channels are open to all Ultra Group members (no joining required). All members of the Ultra Group will receive messages from public channels. Private channels are only accessible to users on the channel's member list. For detailed information about private channels, see Ultra Group Private Channel Overview.

Ultra Group services provide a default channel with the ID RCDefault. The RCDefault channel is open to all Ultra Group members and cannot be converted to a private channel.

For App business scenarios, if you only need to implement group chat-like functionality, you can leverage the unlimited member feature of Ultra Groups to create super large groups with more than 3,000 members. In this case, all messages can be sent and received in the RCDefault default channel. It is recommended to specify the channel ID as RCDefault when calling client or server APIs.

If you need to implement Discord-like functionality, building sub-communities through Ultra Group channels, it is recommended to use only channels you create yourself to implement your business features. The behavior of the default channel (RCDefault) differs from that of custom channels, and using only custom channels can avoid limitations in implementing App business logic.

tip

If your App/environment enabled Ultra Group services before October 13, 2022, your Ultra Group service does not include the RCDefault channel. When calling client or server APIs without specifying a channel ID, the action will generally only affect messages not belonging to any channel. Specific behaviors should be referenced in the respective feature documentation. RC supports adjusting services to the latest behavior. This adjustment will affect multiple functionalities, including message sending/receiving, conversation retrieval, history message clearing, and muting on both client and server sides. If needed, please submit a ticket for detailed solutions.

Client UI Framework Reference Design

The Ultra Group product does not currently provide UI components. You can refer to the following UI framework design to understand the design approach for Ultra Group Apps.

  • The red box on the left side of the figure below represents the Ultra Group list, which shows the current logged-in user's Ultra Groups. The plus (+) button at the bottom of the red box represents creating a new Ultra Group.
  • The green box above represents the Ultra Group channel (Channel) list. Each channel in an Ultra Group is specified by a channel ID (channelId).

(height=500)

Ultra Group Management Interfaces

Ultra Groups do not support group data hosting capabilities; all Ultra Group business logic must be implemented on the App server.

For client developers, basic management operations such as creating groups and channels only require interaction with the App server. The App server needs to call the corresponding RC server API (Server API) interfaces for operations like creating Ultra Groups and channels.

The table below lists the basic Ultra Group management interfaces provided by RC.

tip

The Server API also provides additional management interfaces such as Ultra Group-wide muting and user muting. For details, see the RC Server API Ultra Group Documentation.

Function CategoryDescriptionClient APIRC Server API
Create/Dismiss Ultra GroupProvide the creator's user ID, Ultra Group ID, and group name to request group creation from RC. Dismissing an Ultra Group removes all member relationships.Not providedCreate Ultra Group, Dismiss Ultra Group
Join/Leave Ultra GroupAfter joining an Ultra Group, members can view new messages by default. Leaving the group stops receiving new messages.Not providedJoin Ultra Group, Leave Ultra Group
Update Ultra Group InfoModify Ultra Group information used in RC push services.Not providedRefresh Ultra Group Info
Create/Delete ChannelCreate independent communication channels within Ultra Group conversations. Deleting a channel prevents message sending in that channel.Not providedCreate Channel, Delete Channel
Query Channel ListAfter joining an Ultra Group, members can view new messages by default. Leaving the group stops receiving new messages.Not providedGet Channel List
Change Channel TypeUltra Group channels can be switched between public and private types at any time.Not providedChange Channel Type
Add/Remove Private Channel MembersAdd or remove Ultra Group members from the specified private channel's member list. This list is active when the channel type is private.Not providedAdd Private Channel Users, Delete Private Channel Users