Channel types
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.
Open channel
An open channel is a public chat that can handle millions of online users. In open channels, anyone can easily participate without permission.
- 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.
Group channel
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 up to tens of thousands of members depending on your Sendbird plan. 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.
Open channel vs. Group channel vs. Supergroup channel
The optimal use cases for each channel type can vary as different channels support different features. The following tables compare open channels, group channels, and Supergroup channels in terms of possible use cases and supported features.
Use cases
Choose which channel type to use based on key factors such as the duration of a chat and the number of users participating in it. The following table lists possible use cases for each channel type.
Type | Used for |
---|---|
Open channel | - Short-lived live events, such as concerts and streaming. |
Group channel | - Private 1-on-1 conversations, such as clinical consultations and Instagram-style Direct Messages. |
Supergroup channel | - Ask-me-anything type events with a large number of users. |
Features
The following table compares the difference among three types of channels.
Open channel | Group channel | Supergroup channel | |
---|---|---|---|
Maximum number in a channel | Up to millions of participants | 100 members | Up to tens of thousands of members depending on your Sendbird plan. |
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 | ||
Online presence | |||
Last message | N/A | ||
Supported | 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 |
Get a channel with its member list | N/A | Supported | Supported |
Pagination for participant list or member list | |||
Order of channel list | - Chronological | - Chronological | - Chronological |