Android client SDK for Pusher Chatkit | owner: @mdpye
Clone or download

Pusher Chatkit Android

Read the docs Twitter GitHub license codecov Travis branch Download Maven Central

Find out more about Chatkit here.

The SDK is written in Kotlin, but aimed to be as Java-friendly as possible. Please report incompatibilities with Java as bugs.


  • minSdkVersion is 19 (KitKat)


The project is hosted primarily on JCenter, and synced to Maven Central.

The latest release version can be seen in the badges above.

Deprecated versions

Versions of the library below 1.0.0 are deprecated and support for them will soon be dropped.

It is highly recommended that you upgrade to the latest version if you're on an older version. To view a list of changes, please refer to the CHANGELOG.


repositories {

dependencies {
  // ...
  implementation 'com.pusher:chatkit-android:$chatkit-version'


<!-- optional, add the primary source repo.
     exclude to use mirrored version from Maven Central -->



When building this project, you may choose to use a local version of pusher-platform-android.

To do so you can add the path to your local copy in your ~/.gradle/


It can be either a relative or absolute path.


The SDK has integration tests which run against a real Chatkit server. In order to run them, you must provide Chatkit instance credentials in your Gradle (or as -D arguments to the VM executing the tests)

Important: The tests may delete any and all resources associated with the instance you provide. Create a new one. Do not share it with any other use.

chatkit_integration_locator=<instance locator>
chatkit_integration_key=<instance key>



The two artifacts this project produces (chatkit-core and chatkit-android) are published in jCenter.

Firstly, make sure you have a BinTray account. To get the api key go to Profile > Edit > Api Key

Then you need to set up a user name and api key.

Either on your local ~/.gradle/ as:


Or as environment variables (mainly for CI):


You will also need to have SONATYPE_GPG_PASSPHRASE set as an environment variable. This is, as the name suggests, the GPG passphrase for the Maven signing key.

Now, to do the actual release run:

gradlew build
gradlew bintrayUpload

Note: The publish action will both override the current release (if it has the same version name as the current) and automatically publish the new version.


You should sync the artefacts to Maven from the Bintray web interface.