Skip to main content

Private Channel Overview

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

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:

If a user is not in the private channel's member list but still attempts to send messages to the channel, the messages will fail to reach the server. However, they will be stored in 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 notifications about channel status changes. 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 access permissions for historical messages in that channel:

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

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 private, only users in its member list can send/receive messages and receive channel status notifications.

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 member list for a public channel. If that public channel is later converted to private, the member list will take effect immediately.

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