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
- Client Documentation
- UI Components Documentation
- API docs: Full generated docs from Dokka
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.
This SDK consists of three 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!
Learn more 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.
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.
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.
See the Dependencies and Getting Started pages of the documentation.
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.