Installation
Overview
Use the Kommunicate Android SDK to add live chat and AI agent support to your Android app. The SDK provides a customizable chat interface that lets your team support app users from Kommunicate.
This guide shows you how to add the SDK dependency, configure ProGuard rules, and add optional Android permissions for media and location features.

Prerequisites
Before you start, make sure your project uses:
- Android 5.0 (API level 21) or higher.
- Java 21 or higher.
- Kotlin 2.0 or higher.
- Android Gradle Plugin 8.0 or higher.
Installation
To install the Kommunicate SDK, configure the repository for your Gradle version and add the SDK dependency.
- If you use Gradle 6.7 or lower, add the following repository to your root build.gradle file:
allprojects {
repositories {
maven { url 'https://kommunicate.jfrog.io/artifactory/kommunicate-android-sdk' }
}
}
- If you use Gradle 6.8 or higher, add the following repository to your settings.gradle file:
dependencyResolutionManagement {
repositories {
maven { url 'https://kommunicate.jfrog.io/artifactory/kommunicate-android-sdk' }
}
}
- For all Gradle versions, add the dependency to your module build.gradle file:
dependencies {
implementation 'io.kommunicate.sdk:kommunicateui:2.16.0'
}
- Sync your project.
After Gradle syncs successfully, the Kommunicate SDK is installed in your app.
ProGuard rules
If your release build enables minification, add the following rules to your proguard-rules.pro file. Without these rules, the app might crash in release builds.
-keep class net.sqlcipher.** { *; }
-keep class javax.crypto.** { *; }
-keep class net.zetetic.database.sqlcipher.* { *; }
-keep class net.zetetic.database.sqlcipher.** { *; }
-keepattributes *Annotation*
-keep class io.kommunicate.** { *; }
-keep class io.kommunicate.ui.** { *; }
Permissions
Add permissions only for the features that your app uses. For camera and gallery storage features, add the following permissions to your AndroidManifest.xml file:
<uses-permission
android:name="android.permission.CAMERA"
tools:node="merge" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:ignore="ScopedStorage"
tools:node="merge" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:node="merge" />
<!--Permissions to be used when your app targets API 33 or higher-->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
If you use Audio record / Speech to text feature, add these permissions:
<uses-permission
android:name="android.permission.RECORD_AUDIO"
tools:node="merge" />
If you use Location feature, add these permissions:
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"
tools:node="merge" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
tools:node="merge" />