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
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
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 Description | Client API | RC Server API |
|---|---|---|
| Create private channel | Not provided | Create Channel |
| Delete private channel | Not provided | Delete Channel |
| Query channel list | Not provided | Query Channel List |
| Change channel type | Not provided | Change Channel Type |
Understanding Private Channel Member Lists
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.
- 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 Description | Client API | RC Server API |
|---|---|---|
| Add to private channel member list | Not provided | Add Private Channel Members |
| Remove from private channel member list | Not provided | Delete Private Channel Members |
| Query private channel member list | Not provided | Query Private Channel Members |