Giter Club home page Giter Club logo

chatkit-android's Introduction

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.

Requirements

  • minSdkVersion is 19 (KitKat)

Installation

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 no longer supported by the backend.

To view a list of changes, please refer to the CHANGELOG.

Gradle

repositories {
  jcenter()
}

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

Maven

<!-- optional, add the primary source repo.
     exclude to use mirrored version from Maven Central -->
<repositories>
  <repository>
    <id>jcenter</id>
    <url>https://jcenter.bintray.com/</url>
  </repository>
<repositories>

<dependency>
  <groupId>com.pusher</groupId>
  <artifactId>chatkit-android</artifactId>
  <version>VERSION</version>
</dependency>

Development

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/gradle.properties:

pusher_platform_local=/path/to/pusher-platform-android

It can be either a relative or absolute path.

Testing

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 local.properties (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>

Publishing

jCenter

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/gradle.properties as:

bintrayUser=you-bintray-user-name
bintrayApiKey=your-bintray-api-key

Or as environment variables (mainly for CI):

BINTRAY_USER=you-bintray-user-name
BINTRAY_API_KEY=your-bintray-api-key

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.

Maven

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

chatkit-android's People

Contributors

callum-oakley avatar ccaseypusher avatar charlesworth avatar daniellevass avatar hamchapman avatar luismfonseca avatar mdpye avatar minaorangina avatar pablisco avatar raggedycoder avatar vivangkumar avatar zmarkan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.