Official Android SDK for Stream Chat
This is the official Android SDK for Stream Chat, a service for building chat and messaging applications. This library includes both a low-level chat SDK and a set of reusable UI components. Most users start with the UI components, and fall back to the lower level API when they want to customize things.
The SDK supports both Kotlin and Java, but we strongly recommend using Kotlin.
- Register: Create an account and get an API key for Stream Chat
- Chat Tutorial: Learn the basics of the SDK by by building a simple messaging app (Kotlin or Java)
- UI Components sample app: Full messaging app with threads, reactions, optimistic UI updates and offline storage
- Compose UI Components sample app: Messaging sample app built with Jetpack Compose!
- Client Documentation
- UI Components Documentation
- Compose UI Components Documentation
- API docs: Full generated docs from Dokka
- Jetpack Compose Planning: Jetpack Compose public project management board and milestone overview
Stream is free for most side and hobby projects. To qualify, your project/company needs to have < 5 team members and < $10k in monthly revenue. For complete pricing details, visit our Chat Pricing Page.
stream-chat-android
module will be deprecated by the end of December 2021. The module will continue working, but we won't be releasing new versions.
Consider migrating to stream-chat-android-ui-components
or stream-chat-android-compose
. Here you can find a set of useful resources for migration:
- UI Components Documentation
- Android Chat Messaging Tutorial
- Compose UI Components Documentation
- Compose Chat Messaging Tutorial
- Old Sample App Migration PR
This SDK consists of three main artifacts you can build on:
- Client: A low-level client for making API calls and receiving chat events.
- Offline support: Local caching and automatic retries, exposed via Flow and LiveData APIs.
- UI Components: Reusable and customizable chat Views for displaying conversations, lists of channels, and more!
We also support Jetpack Compose! You can use our Compose UI Components as an alternative to the UI Components.
- Compose UI Components: Reusable and modular Composables for displaying conversations, lists of channels, and more!
Learn more about the modules by visiting the documentation.
The best place to start is the Android In-App Messaging Tutorial. It teaches you the basics of using this SDK and also shows how to make frequently required changes.
See the Dependencies and Getting Started pages of the documentation.
This repo includes a fully functional example app featuring threads, reactions, typing indicators, optimistic UI updates and offline storage. To run the sample app, start by cloning this repo:
git clone git@github.com:GetStream/stream-chat-android.git
Next, open Android Studio and open the newly created project folder. You'll want to run the stream-chat-android-ui-components-sample
app.
We also have a UI implementation built in Jetpack Compose available, currently in a beta version.
This also comes with its own example app, which you can try by cloning this repo, and then running the app in the stream-chat-android-compose-sample
module.
As this is a beta, we're eager to hear your feedback. Join us in this repo's discussions or tweet at us @getstream_io!
Here are some of the features that the SDK supports out-of-the-box:
- Channels list UI
- Channel UI
- Message reactions
- Link previews
- Image, video and file attachments
- Editing and deleting messages
- Typing indicators
- Read indicators
- Push notifications
- Image gallery
- GIF support
- Light and dark themes
- Style customization
- UI customization
- Threads
- Slash commands
- Markdown message formatting
- Unread message counts
For more, see the SDK's website.
We've recently closed a $38 million Series B funding round and we keep actively growing. Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world. Check out our current openings and apply via Stream's website.