| name | setup |
| description | Set up CometChat Calls SDK v5 for Android. Use when adding SDK dependencies, configuring Cloudsmith maven, CallAppSettings, init, permissions, or Jetifier. Triggers on "setup calls sdk", "add cometchat dependency", "initialize calls", "gradle setup". |
| inclusion | manual |
CometChat Calls SDK v5 โ Setup
Overview
Install and initialize the CometChat Calls SDK v5 (beta) in an Android project. Covers Cloudsmith maven repository, Gradle dependencies, manifest permissions, Jetifier, and CometChatCalls.init().
Prerequisites
- Android project with minSdk 26+, compileSdk 35
- App ID and Region from CometChat Dashboard
Key Imports
import com.cometchat.calls.core.CometChatCalls
import com.cometchat.calls.core.CallAppSettings
import com.cometchat.calls.exceptions.CometChatException
Implementation
1. Add Cloudsmith Maven Repository
In project-level settings.gradle.kts (or build.gradle):
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://dl.cloudsmith.io/public/cometchat/cometchat/maven/") }
}
}
2. Add Dependencies
In app-level build.gradle.kts:
dependencies {
implementation("com.cometchat:calls-sdk-android:5.0.1")
}
3. Enable Jetifier
In gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
4. Java Compatibility
In app-level build.gradle.kts:
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
5. Manifest Permissions
In AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
6. Initialize SDK
Call once in Application.onCreate() or main Activity:
val callAppSettings = CallAppSettings.CallAppSettingBuilder("APP_ID", "REGION").build()
CometChatCalls.init(this, callAppSettings, object : CometChatCalls.CallbackListener<String>() {
override fun onSuccess(message: String) {
Log.d(TAG, "Calls SDK initialized")
}
override fun onError(e: CometChatException) {
Log.e(TAG, "Init failed: ${e.message}")
}
})
7. Check Initialization
if (CometChatCalls.isInitialized()) { }
8. Authentication
Login with UID + API Key (dev only) or Auth Token (production):
CometChatCalls.login(uid, apiKey, object : CometChatCalls.CallbackListener<CallUser>() {
override fun onSuccess(user: CallUser) { }
override fun onError(e: CometChatException) { }
})
Gotchas
android.enableJetifier=true is required in gradle.properties โ builds fail without it
- The maven URL must be
https://dl.cloudsmith.io/public/cometchat/cometchat/maven/ โ no trailing path variations
- Request CAMERA and RECORD_AUDIO permissions at runtime on Android 6.0+
- Call
CometChatCalls.init() before any other SDK method
- If using both Chat SDK and Calls SDK, initialize both separately
Sample App Reference
PublicSampleApps/calls-sdk-android/settings.gradle.kts โ Cloudsmith maven config
PublicSampleApps/calls-sdk-android/samples/sample-app-ringing/build.gradle.kts โ dependency declarations
PublicSampleApps/calls-sdk-android/gradle.properties โ Jetifier enabled
PublicSampleApps/calls-sdk-android/samples/sample-app-ringing/src/main/kotlin/com/cometchat/samplecallsringing/RingingApplication.kt โ Application class