# Get started with the Contact Center SDK for Android
The Contact Center SDK for Android lets users engage with agents directly through video and chat without leaving your app.
## Requirements
- Android 9.0+
- Android Studio
- Supported architectures: as of **SDK version 3.3.0**, arm64-v8a or armeabi-v7a; **SDK version 3.2.0 or earlier**, arm64-v8a, armeabi-v7a, x86, or x86_64.
- A Contact Center license and an [entry ID](https://support.zoom.us/hc/en-us/articles/4470447059597), used to start a video or chat flow.
- Since the Contact Center SDK is built on our Video SDK, your Contact Center SDK needs to be at least version **4.11.0** and will need to be updated at least every nine months.
## Download the Contact Center SDK for Android
If you **don't already have at least one registered app**, follow these steps to create an app and download the SDK files.
- Sign in to your developer account on the Zoom App Marketplace.
- Go to [Zoom App Marketplace](https://marketplace.zoom.us/?ampDeviceId=cf401538-835f-45ce-a7f1-1035e348c982&SessionId=1771892802618&DeviceId=625144c2-ec06-4362-b16c-c4a652d544b5&SessionId=1785855378806) and select **Sign in** at the top right corner.
- Select the blue **Developer** link in the lower left corner, under the lefthand navigation. If you don't see the link, verify that you have the correct permissions.
- On the **Created apps** page, select the blue plus sign in the upper left corner next to the word **Developer**.
- Select **Build App > General app**, and then select **Create**.
- Go to **Features** and select **Embed**.
- On the **Embed** page, enable **Contact Center SDK**.
- Under the **Contact Center SDK** section, configure the settings as appropriate for your app.
-
To download the SDK files, select the platform **Android**. This page
displays available SDK versions for the selected platform, along with links
to their corresponding release notes.
- Finally, select the **Download** button.
If you **already have at least one registered app**, follow these steps to download the SDK files using your existing app.
- Sign in to your developer account on the Zoom App Marketplace.
- Go to [Zoom App Marketplace](https://marketplace.zoom.us/?ampDeviceId=cf401538-835f-45ce-a7f1-1035e348c982&SessionId=1771892802618&DeviceId=625144c2-ec06-4362-b16c-c4a652d544b5&SessionId=1785855378806) and select **Sign in** at the top right corner.
- Select the blue **Developer** link in the lower left corner, under the lefthand navigation. This takes you to the **Created Apps** page. If you don't see the link, verify that you have the correct permissions.
- On the **Created Apps** page, select your SDK app to open its configuration pages.
- Go to **Features** and select **Embed**.
- On the **Embed** page, go to the **Contact Center SDK** section.
-
To download the SDK files, select the platform **Android**. This page
displays available SDK versions for the selected platform, along with links
to their corresponding release notes.
- Finally, select the **Download** button.
## Install
The Contact Center SDK zip file - with a name like `android-zccsdk-X.X.X.zip` - contains 5 folders and a text file.
- `cci` - contains the Contact Center SDK module with build.gradle and cciSDK.aar files
- `mobilertc` - contains the Video SDK module with build.gradle and mobilertc.aar files
- `video-effects` - contains the Video SDK module for blur effects with build.gradle and video-effects.aar files
- `zm-annoter`- contains the Video SDK module for video annotation function with `build.gradle` and `zm-annoter.aar` files
- `sample` - contains the sample code project
- `version.txt` - contains the Contact Center SDK version code
The `settings.gradle` file shows how to import the `cci` module, the `mobilertc` module, the `video-effects` module, and the `zm-annoter` module.
```gradle
include ':app'
// include mobilertc if using a content center video entry
include ':mobilertc'
project(':mobilertc').projectDir = new File(settingsDir, '../mobilertc')
include ':cci'
project(':cci').projectDir = new File(settingsDir, '../cci')
// include video-effects if need blur effects in your video call
include ':video-effects'
project(':video-effects').projectDir = new File(settingsDir, '../video-effects')
// include zm-annoter if need annotation function in your video call
include ':zm-annoter'
project(':zm-annoter').projectDir = new File(settingsDir, '../zm-annoter')
```
The app-level `build.gradle file` shows how to implement the `cci` module, the `mobilertc` module, the `video-effects` module, and the `zm-annoter` module.
1. Unzip the `android-zccsdk-X.X.X.zip` file, and open the sample project in Android Studio. The `cci` module, the `mobilertc` module, the `video-effects` module, and the `zm-annoter` module should automatically be imported. To learn how to import the Contact Center SDK into your project, look at the sample project.
2. To add the `packaging`, enable `viewBinding` on the `cci` module. If you don't want to enable `viewBinding`, add `dependencies.add("default","androidx.databinding:viewbinding:7.3.1")` in the `cci/build.gradle` file.
```gradle
android {
compileSdk 36
namespace 'us.zoom.cc.sample'
defaultConfig {
// minSdk version should be >= 28
minSdk 28
targetSdk 36
}
// cci module and mobilertc module share the same libs
packaging {
jniLibs {
pickFirsts += [
'lib/*/libzReflection.so',
'lib/*/libc++_shared.so',
'lib/*/libcrypto_sb.so',
'lib/*/libssl_sb.so',
'lib/*/libzoom_util.so',
'lib/*/libcmmlib.so',
'lib/*/libzlib.so',
'lib/*/libcurl.so'
]
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
// if you don't want to enable viewBinding, please add dependencies.add("default","androidx.databinding:viewbinding:7.3.1") into the cci/build.gradle
buildFeatures{
buildConfig = true
viewBinding true
}
}
dependencies {
//...
implementation project(':cci')
//implementation mobilertc if using a content center video entry
implementation project(':mobilertc')
// implementation video-effects for blur background
implementation project(path: ':video-effects')
// implementation zm-annoter for video annotation
implementation project(path: ':zm-annoter')
}
```
The project-level `build.gradle` declares the plugins required by the build system itself. For Android 16 (API level 36), upgrade the Android Gradle Plugin (AGP) to 8.x. Refer to this project-level `build.gradle` configuration.
```gradle
buildscript {
dependencies {
classpath "com.android.tools.build:gradle:8.10.0"
}
}
```
3. In the `proguard-rules.pro` file, keep all Contact Center SDK related classes.
```plaintext
-keep class us.zoom**{
*;
}
-keep interface us.zoom**{
*;
}
-keep class org.webrtc**{
*;
}
-keep class com.zipow**{
*;
}
```
4. In the `MyApplication` class in `MyApplication.kt`, initialize the Contact Center SDK.
```java
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ZoomCCInterface.INSTANCE.init(getApplicationContext(),"User Name");
}
}
```
```kotlin
class MyApplication:Application() {
override fun onCreate() {
super.onCreate()
ZoomCCInterface.init(getApplicationContext(), "User Name")
}
}
```
5. **Optional** To change the user name, call `ZoomCCInterface.setContext`. If you don't want to `init` with the user name, change the user name before calling `service.fetchUI`.
```java
ZoomCCInterface.INSTANCE.setContext(new ZoomCCContext("User Name"))
```
```kotlin
ZoomCCInterface.setContext(ZoomCCContext("User Name"))
```
6. In the `AndroidManifest.xml` file, set up the application.
```xml
```