# Overview

The Orchestration SDK for Android allows your mobile application to communicate with Mosaic, run journeys, and submit client input. It abstracts the communication protocol and manages state between the client and server throughout a journey's lifecycle.

## Capabilities

- Start and manage journeys from the client side
- Handle journey steps and submit client responses
- Maintain state between server responses and client input
- Support for client-facing journey steps


## Requirements

- Android 5+ (API level 21+)


## Installation

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

```groovy
dependencyResolutionManagement {
    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:identityorchestration: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" translatable="false">[YOUR_CLIENT_ID]</string >
    <string name="transmit_security_base_url">[YOUR_BASE_URL]</string>  <!-- Default is https://api.transmitsecurity.io-->
</resources>
```

Initialize the SDK in your `Application` class:

```kotlin
try {
    TSIdo.initializeSDK(application_context)
} catch (exception: TSIdoInitializeException) {
    // Handle initialization error
}
```

SDK parameters
```kotlin
TSIdo.initializeSDK(application_context,
    clientId,
    TSIdoInitOptions(baseUrl))  // Default is https://api.transmitsecurity.io
```

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](/guides/orchestration/getting-started/quick_start_android)
- [Android SDK guide](/guides/orchestration/sdk/android_sdk_guide)
- [SDK reference](https://transmitsecurity.github.io/ido-android-api-reference/index.html)