# Overview

The Identity Verification SDK for Android allows you to integrate document verification and selfie capture into your mobile application. It provides a streamlined verification experience that guides users through the process of capturing identity documents and performing liveness checks.

## Capabilities

- Document capture and verification (ID cards, passports, driver's licenses)
- Selfie capture with liveness detection
- Configurable verification experience with Mosaic UI or custom UI
- Real-time feedback and recapture handling


## Requirements

- Android 5+ (API level 21+)


## Installation

Add the Mosaic Maven repository to your project's `settings.gradle` file:

```groovy
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {

        maven {
            url('https://transmit.jfrog.io/artifactory/transmit-security-gradle-release-local/')
        }
        mavenCentral()
        google()
    }
}
```

Add the SDK dependency to your module's `build.gradle` file:

```groovy
dependencies {
    implementation("com.ts.sdk:identityverification:1.+")
}
```

## Initialization

The SDK can be initialized using either a `strings.xml` configuration or SDK parameters.

strings.xml
Add your credentials to `strings.xml`:

```xml
<resources>
    <!-- Mosaic Credentials -->
    <string name="transmit_security_client_id">[YOUR_CLIENT_ID]</string>
    <string name="transmit_security_base_url">https://api.transmitsecurity.io/</string>
</resources>
```

Initialize the SDK in your `Application` class:

Kotlin
```kotlin
class MyApplication: Application() {
    override fun onCreate() {
        super.onCreate()
        TSIdentityVerification.initializeSDK(this)
    }
}
```

Java
```java
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        TSIdentityVerification.initializeSDK(this);
    }
}
```

SDK parameters
Kotlin
```kotlin
class MyApplication: Application() {
    override fun onCreate() {
        super.onCreate()
        TSIdentityVerification.initialize(this, "CLIENT_ID")
    }
}
```

Java
```java
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        TSIdentityVerification.initialize(this, "CLIENT_ID");
    }
}
```

Configure the base server URL based on your region:

| Region | Base URL |
|  --- | --- |
| US | `https://api.transmitsecurity.io/` |
| EU | `https://api.eu.transmitsecurity.io/` |
| Canada | `https://api.ca.transmitsecurity.io/` |
| Australia | `https://api.au.transmitsecurity.io/` |
| Japan | `https://api.gasne1-ts01.transmitsecurity.io/` |
| Sandbox | `https://api.sbx.transmitsecurity.io/` |
| Custom domain | `https://<your-domain>.com/` (see [Custom domains](/guides/deployment/custom_domains)) |


## Next steps

- [Android quickstart (Mosaic UI)](/guides/verify/quick_start_mosaic_ui_android)
- [Android quickstart (custom UI)](/guides/verify/quick_start_android)