/chat-sdk-android

Chat SDK Android - Open Source Mobile Messenger

Primary LanguageJavaOtherNOASSERTION

Chat SDK for Android v5

Open Source Messaging framework for Android

Main Image

Chat SDK is a fully featured open source instant messaging framework for Android. Chat SDK is fully featured, scalable and flexible and follows the following key principles:

  • Free.
  • Open Source.
  • Full control of the data. You have full and exclusive access to the user's chat data
  • Quick integration. Chat SDK is fully featured out of the box
  • Scalable. Supports millons of daily users [1, 2]
  • Backend agnostic. Supports Firebase and XMPP (ejabberd, Prosody, MongooseIM, Tigase, OpenFire)

Technical details

Please bear in mind that this version is a major update. As a result we are making new releases every few days to fix bugs and crashes. If you see an issue, please report it on the Github bug tracker and we will fix it.

Features

  • Powered by Firebase Firestore, Realtime database or XMPP
  • Private and group messages ⇘GIF
  • Public chat rooms
  • Username / password, Social, Anonymous and custom login
  • Phone number authentication
  • Push notifications (using FCM)
  • Text, Image ⇘GIF and Location ⇘GIF messages
  • Forward, Reply ⇘GIF, Copy and Delete ⇘GIF messages
  • Tabbar ⇘GIF or Drawer ⇘GIF layout
  • User Profiles ⇘GIF
  • User Search ⇘GIF
  • Contacts ⇘GIF
  • Add contact by QR code ⇘GIF
  • Firebase UI ⇘GIF
  • iOS Version

Pro Features

If you are an open source project using GPLv3 you can use all the features with that license.

For commercial projects, sponsor us on either Github sponsors or Paetron and get these features. For full details visit our Modules page.

When you support us on Patreon, you get: extra modules, code updates, support as well as special access to the Discord Server.

  • Typing indicator ⇘GIF
  • Read receipts
  • Last online indicator
  • Audio messages ⇘GIF
  • Video messages ⇘GIF
  • Sticker messages ⇘GIF
  • User blocking ⇘GIF
  • File Messages ⇘GIF
  • End-to-end encryption
  • Contact book integration ⇘GIF
  • Location based chat ⇘GIF
  • XMPP Server Support
    • ejabberd
    • Prosody
    • OpenFire
    • Tigase
    • MongooseIM

Visit our Animated GIF Gallery to see all the features.

License

This project is covered by multiple different licenses. Use the flowchart to determine which license you can use.

Standard modules:

  • app
  • app-demo
  • app-firestream
  • chat-sdk-app-firebase
  • chat-sdk-app-firestream
  • chat-sdk-core
  • chat-sdk-core-ui
  • chat-sdk-demo
  • chat-sdk-firebase-adapter
  • chat-sdk-firebase-push
  • chat-sdk-firebase-upload
  • chat-sdk-firestream-adapter
  • chat-sdk-mod-auto
  • chat-sdk-mod-firebase-ui
  • chat-sdk-mod-image-editor
  • chat-sdk-mod-message-location
  • chat-sdk-mod-ui-extras
  • firestream
  • firestream-firestore
  • firestream-realtime
  • sdk-guru-common
  • sdk-guru-firestore
  • sdk-guru-realtime
  • vendor-chatkit

License:

Monthly Active Users
Less than 1 million Apache 2.0
More than 1 million GPLv3 or Commercial License

Pro modules:

  • app-xmpp
  • chat-sdk-app-xmpp
  • chat-sdk-pro-contact-book
  • chat-sdk-pro-encryption
  • chat-sdk-pro-firebase-blocking
  • chat-sdk-pro-firebase-last-online
  • chat-sdk-pro-firebase-nearby-users
  • chat-sdk-pro-firebase-read-receipts
  • chat-sdk-pro-firebase-typing-indicator
  • chat-sdk-pro-firestream-blocking
  • chat-sdk-pro-firestream-read-receipts
  • chat-sdk-pro-firestream-typing-indicator
  • chat-sdk-pro-message-audio
  • chat-sdk-pro-message-file
  • chat-sdk-pro-message-sticker
  • chat-sdk-pro-message-video
  • chat-sdk-pro-xmpp-adapter
  • chat-sdk-pro-xmpp-omemo
  • chat-sdk-pro-xmpp-read-receipts

License:

Monthly Active Users
Any GPLv3 or Commercial License

Commercial Licensing

For commercial licensing, you have several options:

  1. Pay monthly: Patreon or Github Sponsors
  2. Buy a one-off license
  3. If your project has over 1m MAU or XMPP contact [team@chatsdk.co](mailto: team@chatsdk.co)

About Us

Learn about the history of Chat SDK and our future plans in this post.

Scalability and Cost

People always ask about how much Chat SDK costs to run. And will it scale to millions of users? So I wrote an article talking about just that.

Library Size

The Chat SDK library with ALL modules is around 20mb

Community

You can also help us by:

  • Providing feedback and feature requests
  • Reporting bugs
  • Fixing bugs
  • Writing documentation

Email us at: team@sdk.chat

We also offer development services we are a team of full stack developers who are Firebase experts. For more information check out our consulting site.

Firestream - A light-weight messaging library for Firebase

If you are looking for something that is more-light weight than Chat SDK, we also have a library which only provides instant messaging functionality.

  1. 1-to-1 Messaging
  2. Group chat, roles, moderation
  3. Android, iOS, Web and Node.js
  4. Fully customisable messages
  5. Typing Indicator
  6. Delivery receipts
  7. User blocking
  8. Presence
  9. Message history (optional)
  10. Firestore or Realtime database

You can check out the project: Firestream on Github.

Chat SDK Firebase Documentation

Quick Start

Video Tutorial

Bear in mind that the video is not updated frequently. Please cross reference with with the text based instructions for the latest gradle dependencies.

Integration

  1. Add the Chat SDK to your project
  2. Firebase Setup
  3. Chat SDK Initialization
  4. Set the Chat SDK Theme
  5. Enable Location Messages
  6. Display the login screen
  7. Add module dependencies
  8. Module Configuration
  9. Proguard
  10. Push Notifications, Security Rules and Storage

Customization

  1. Override Activity or Fragment
  2. Theme Chat SDK
  3. Customize the Icons
  4. Customize the Tabs
  5. Add a Chat Option
  6. Custom Message Types
  7. Handling Events
  8. Custom Push Handling
  9. Synchronize user profiles with your app
  10. Custom File Upload Handler
  11. Enable token authentication

Extras

  1. Example Firebase Schema

Migrating from v4

Recommended background

Setup Service

We provide extensive documentation on Github but if you’re a non-technical user or want to save yourself some work you can take advantage of our setup and integration service.