Skip to main content
This guide walks you through installing the CometChat Calls SDK and initializing it in your Android application.

Add the CometChat Dependency

Step 1: Add Repository

Add the CometChat repository URL to your project level build.gradle file in the repositories block:
allprojects {
  repositories {
    maven {
      url "https://dl.cloudsmith.io/public/cometchat/cometchat/maven/"
    }
  }
}

Step 2: Add Dependencies

Add the Calls SDK dependency to your app level build.gradle file:
dependencies {
  implementation "com.cometchat:calls-sdk-android:5.0.0"
}

Step 3: Configure Java Version

Add Java 8 compatibility to the android section of your app level build.gradle:
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

Add Permissions

Add the required permissions to your 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" />
For Android 6.0 (API level 23) and above, you must request camera and microphone permissions at runtime before starting a call.

Initialize CometChat Calls

The init() method initializes the SDK with your app credentials. Call this method once when your application starts, typically in your Application class or main Activity.

CallAppSettings

The CallAppSettings class configures the SDK initialization:
ParameterTypeRequiredDescription
appIdStringYesYour CometChat App ID
regionStringYesYour app region (us or eu)
import com.cometchat.calls.core.CometChatCalls
import com.cometchat.calls.core.CallAppSettings

val appId = "APP_ID" // Replace with your App ID
val region = "REGION" // Replace with your Region ("us" or "eu")

val callAppSettings = CallAppSettings.CallAppSettingBuilder(appId, region).build()

CometChatCalls.init(this, callAppSettings, object : CometChatCalls.CallbackListener<String>() {
    override fun onSuccess(message: String) {
        Log.d(TAG, "CometChat Calls SDK initialized successfully")
    }

    override fun onError(e: CometChatException) {
        Log.e(TAG, "CometChat Calls SDK initialization failed: ${e.message}")
    }
})
ParameterDescription
thisAndroid context (Application or Activity context)
callAppSettingsConfiguration object with App ID and Region
listenerCallback listener for success/error handling

Check Initialization Status

You can verify if the SDK has been initialized using the isInitialized() method:
if (CometChatCalls.isInitialized()) {
    // SDK is ready to use
} else {
    // Initialize the SDK first
}