Skip to main content

Private Channel Overview

The Ultra Group service supports creating private channels to meet business requirements where only specified users can communicate within the channel in community scenarios.

Before using the private channel feature, we recommend reading the Ultra Group Overview to understand how to use channels in your app's business context.

Known Limitations

tip

The private channel feature currently has the following limitations:

Even if a user is not in the private channel member list, message sending will fail, but the message will still be stored in the local database. If a user not in the private channel member list attempts to send messages to the channel, the message cannot be successfully delivered to the server but will enter the local database and may generate a conversation.

Recommended solution: Maintain a private channel member list on your app's business side. If a user is not in the private channel member list, prevent them from sending messages to the private channel.

Understanding Private Channels

tip

The client SDK does not provide APIs for creating private channels or changing channel types. Please use server APIs to implement these functions.

Ultra Group 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 in the channel's member list, and only these members can send/receive messages and receive channel status change notifications. Private channels can be converted to public channels at any time, and vice versa.

For example, an administrator creates a new channel in a community and defines it as a private channel. They then invite some community members to join the private channel. Only members who join the channel can view it and send/receive messages within it.

Channel type changes affect historical message retrieval permissions for that channel as follows:

  • When a public channel is converted to a private channel: Only users in the current private channel member list can retrieve historical messages from that channel (including messages from when it was a public channel).
  • When a private channel is converted to a public channel: All Ultra Group users can retrieve historical messages from that channel (including messages from when it was a private channel).

You can manage private channels through the following methods:

Function DescriptionClient APIRC Server API
Create private channelNot providedCreate Channel
Delete private channelNot providedDelete Channel
Query channel listNot providedQuery Channel List
Change channel typeNot providedChange Channel Type

Understanding Private Channel Member Lists

tip

The client SDK does not provide APIs for managing private channel member lists. You can call server APIs to query private channel member lists or add/remove Ultra Group members from the list.

When a channel is set as private, only users in its member list can send/receive messages and receive channel status notifications within the channel.

When a private channel is converted to public, the channel becomes accessible to all Ultra Group members. However, the member list data is not deleted. If the channel type is changed back to private, this member list will be reactivated.

You can also create a private channel member list for public channels. Once the public channel is converted to private, this list will take effect.

tip
  • When a channel is deleted, the server will clear its private channel member list.
  • When an Ultra Group member leaves the group, the server automatically removes them from all private channel member lists.

You can manage private channel member lists through the following methods:

Function DescriptionClient APIRC Server API
Add to private channel member listNot providedAdd Private Channel Members
Remove from private channel member listNot providedDelete Private Channel Members
Query private channel member listNot providedQuery Private Channel Members