About Chat SDK

Through our Chat SDK for Flutter, you can efficiently integrate real-time chat into your client app. On the client-side implementation, you can initialize, configure and build the chat with minimal effort. On the server-side, Sendbird ensures reliable infra-management services for your chat within the app. This and other pages in the Getting started provide the Chat SDK’s structure and installation steps, then goes through the preliminary steps of implementing the Chat SDK in your own project.

Note: Sendbird server supports Transport Layer Security (TLS) from versions 1.0 up to 1.3. For example, in the server regions where TLS 1.3 isn’t available, lower versions from 1.0 to 1.2 will be sequentially supported for secure data transmission.


The minimum requirements for Chat SDK for Flutter are:

  • Xcode 9 or later or Android studio 4.4 or later
  • Dart 2.10.4 or later
  • Flutter 1.22.0 or later

Try the sample app

Our sample app has the core features of the Chat SDK. Download the app from our GitHub repository to get an idea of what you can build with the actual SDK and start building in your project.

Download sample app

Note: The fastest way to see our Chat SDK in action is to build your chat app on top of our sample app. Make sure to change the application ID of the sample app to your own. Go to the Create a Sendbird application from your dashboard section to learn more.

How Sendbird Chat SDK works with your app

It is simple to implement chat in your client app with the Chat SDK: a user logs in, sees a list of channels, selects or creates a channel, and sends a message to the channel while receiving messages from other users within the channel.

We provide two types of channels: open channels and group channels. An open channel is a public channel anyone can participate in and chat with others. A group channel is a private channel that users can join as new members through invitation only, and has numerous distinctive properties and features compared to an open channel. There are a variety of group channel subtypes such as a public group channel working like an open channel. Meanwhile, Sendbird also supports a Supergroup channel. A Supergroup channel is an expanded version of a group channel. It can accommodate more than 2,000 members and enable dynamic interaction among members while serving the same functions as a group channel.

All sent messages within channels are automatically delivered to channel event handlers registered to your client app. While the SendbirdSdk instance in your user's client app is connected to the Sendbird server, the event handlers receive callbacks from the server through onMessageReceived, onUserJoined, and other methods. These callbacks contain message or channel objects with the latest information of an incoming message or other events related to the objects.