/stream-chat-android

Official Android SDK for Stream Chat. Powerful client, offline support, and UI component libraries for awesome in-app chat features. Kotlin-first, Open-Source, free for Makers.

Primary LanguageKotlinOtherNOASSERTION

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.

πŸ”— Quick Links

πŸ‘©β€πŸ’» Free for Makers πŸ‘¨β€πŸ’»

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.

🚨 Old UI Module Deprecation 🚨

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:

πŸ—ΊοΈ Overview and Documentation πŸ“š

This SDK consists of three main artifacts you can build on:

We also support Jetpack Compose! You can use our Compose UI Components as an alternative to the UI Components.

Learn more about the modules by visiting the documentation.

πŸ“– Tutorial

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.

πŸ› οΈ Installation and Getting Started πŸš€

See the Dependencies and Getting Started pages of the documentation.

πŸ“² Sample App

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.

πŸ—οΈ Jetpack Compose 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!

πŸ’‘ Supported features 🎨

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 are hiring!

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.