Sendbird's SDKs and API provide two basic types of channels. Each type is designed and implemented to support a wide variety of use cases that your business requires. This page presents the differences and characteristics of the two types.
An open channel is a public chat by nature that can handle a large number of online users. A single open channel can accommodate up to 1,000 simultaneous users in a Twitch-style public chat, and anyone can easily participate without permission. This maximum number of participants can increase per request.
- Ephemeral: Messages in an ephemeral open channel are not saved in Sendbird's database. This means that old messages pushed out by new ones can't be retrieved as they are one-time data. On the other hand, messages in a persistent open channel are permanently stored in the database, which is the default.
A group channel is a chat that allows close interactions among a limited number of users. In order to join this type of channel, an invitation from a channel member is required by default. Depending on how you implement the joining process in your application, a user who is invited to a group channel can accept or decline the invitation. However, various properties can be leveraged to design different types of group channels that suit your use cases, such as Twitter-style 1-on-1 direct messaging, WhatsApp-style group chat, and more.
-
Public: A public group channel can be joined by any user without an invitation. Users can freely join the channel if they want to. On the other hand, a private group channel only accepts invited users by default.
-
Distinct: The
distinct
option determines whether to resume an old channel or to create an entirely new one when someone attempts to open a new channel with a pre-existing member combination. If there is a group channel with those members, the attempt will re-start the existing channel that has their chat history. This is similar to Twitter-style 1-on-1 direct messaging and more. The default value is false. -
Supergroup: A Supergroup channel is an expanded version of a group channel, which can accommodate more than 2,000 members in one channel. The
super
option determine whether a newly created channel will be a Supergroup channel or a group channel. When this option is set to true, thedistinct
option can't be supported. -
Ephemeral: Messages in an ephemeral group channel are not saved in Sendbird's database. This means that old messages pushed out by new ones can't be retrieved as they are one-time data. On the other hand, messages in a persistent group channel are permanently stored in the database, which is the default.
The following table compares the difference among three types of channels that can accommodate a large number of users: Open channels, Group channels, and Supergroup channels.
Open channel | Group channel | Supergroup channel | |
---|---|---|---|
Maximum number in a channel | 1,000 participants | 100 members | 2,000 and more members |
Accessible by | Anyone within the application | Invited users only if private or anyone if public | Invited users only if private or anyone if public |
Ephemeral messaging | Supported | ||
Add users as friends | N/A | Supported | Supported |
Online presence | |||
Last message | N/A | ||
N/A | Supported | Supported | |
Ban users | |||
Mute users | |||
Freeze channels | |||
N/A | N/A | ||
Read receipts | N/A | N/A | |
Unread counts | N/A | Supported | |
Typing indicators | N/A | Supported | |
Mention others in message | |||
Mention counts | N/A | Supported | Supported |
Reactions | N/A | ||
Spam flood protection | |||
Supported | Supported | Supported | |
Smart throttling | Supported (Default: true) | Supported (Default: false) | Supported (Default: false) |
Push notifications | N/A | Supported | Supported |
View a channel with its participant list or member list | N/A | Supported | Supported |
Pagination for participant list or member list | |||
Order of channel list | - Chronological | - Chronological | - Chronological |