Sendbird Chat SDK for Android is a development kit that enables an easy and fast integration of standard chat features into client apps. On the client-side implementation, you can initialize and configure the chat with minimal effort. On the server-side, Sendbird ensures reliable infra-management services for your chat within the app.
If you are looking to build an app with chat features, we recommend you build a client app on top of our sample app. If you already have an app and you are looking to add chat to it, proceed with this guide to integrate chat into your app. This guide walks you through installing the Chat SDK in your app, creating a channel, and sending your first message to the channel.
The minimum requirements for Chat SDK for Android are the following.
Android 5.0 (API level 21) or higher
Java 8 or higher
Android Gradle plugin 3.4.2 or higher
Note: The 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.
Before installing Sendbird Chat SDK, you need to create a Sendbird application on Sendbird Dashboard, which comprises everything required in a chat service including users, messages, and channels. You need the Application ID of your Sendbird application from the dashboard when initializing the Chat SDK.
Go to Sendbird Dashboard and create an account for a free trial. If you already have a Sendbird account, sign into your account.
Create a new application by clicking Create + at the bottom right of your screen.
Enter a name for your application. Choose a Product Type and Region. Then, click Confirm.
Click the application you just created under Applications. You will see the application's Application ID which you will need when initializing the Chat SDK.
Each Sendbird application can be integrated with a single client app. Within the same application, users can communicate with each other across all platforms, whether they are on mobile devices or on the web.
UIKit is a Sendbird Chat SDK add-on with user interfaces that enables easy and fast integration of standard chat features into new or existing client apps.
If you would like a sample app with embedded UI, see UIKit Overview for Android.
How to install the SDK using Gradle depends on your Gradle version. If using Gradle 6.8 or higher, add the following code to your
settings.gradle file. If using Gradle 6.7 or lower, add the following code to your root
build.gradle file. See this release note to learn more about updates to Gradle.
Next, for all Gradle versions, add the dependency to your module
The Chat SDK requires system permissions. These permissions allow the Chat SDK to communicate with the Sendbird server and read from and write on a user device’s storage. To request system permissions, add the following lines to your
If you're building your APK with
minifyEnabled true, add the following line to the module's
ProGuard rules file.
Now, initialize the Chat SDK in the app to allow the Chat SDK to respond to changes in the connection status of Android client apps. Initialization requires your Sendbird application's Application ID, which can be found on the Sendbird Dashboard.
Note: All methods in the following steps are asynchronous. This means that when using asynchronous methods, your client app must receive success callbacks from the Sendbird server through their callback handlers in order to proceed to the next step. A good way to do this is using nested methods. Go to Step 6: Enter the channel to learn more about how you can nest
Before initializing, you should determine whether to enable local caching using
InitResultHandler() in the
SendbirdChat.init() method. The
useCaching property of
InitParams determines whether or not the client app is going to use local storage through the SDK. If you want to build a client app with our local caching functionalities, set the value of
true. We strongly encourage enabling local caching when you initialize.
Note: If you aren't using local caching,
InitResultHandler()won't be called. To learn more, see Initialize the Chat SDK with APP_ID.
SendbirdChat.init()method must be called across a client app at least once. It is recommended to initialize the Chat SDK with the
onCreate()method of the
You need a user in order to send a message to a channel. You can either create a user on our dashboard or you can use a unique ID that hasn’t been taken by any of your Sendbird application users. In the latter case, a new user is automatically created in your Sendbird application before being connected.
For those using the Chat SDK with local caching, refer to the sample code on the first tab. If not, refer to the second tab.
To learn about using a token to authenticate a user, see the authentication page.
Note: You must receive the result of
InitResultHandler()before calling the
connect()method. Any method can be called once the user is connected to the Sendbird server.
Create an open channel using the following code. Open channels are where all users in your Sendbird application can easily participate without an invitation.
Note: You can also create a group channel to send a message. To learn more, see Create a channel.
Enter the channel to send and receive messages.
Finally, send a message to the channel. To learn more about the message type you can send, see Message Overview in our Platform API Docs.
onMessageReceived() channel event handler using the
SendbirdChat.addChannelHandler() method so that you can receive the message you just sent to the channel. You can also see the message on Sendbird Dashboard.