# Overview

The Fraud Prevention SDK for Android enables real-time threat detection and risk assessment in your mobile application. Once integrated, the SDK automatically collects device and behavioral telemetry and submits it to Mosaic for analysis. When specific user actions occur (such as login or account registration), you can report those events to receive risk-based recommendations via the [Recommendations](/openapi/risk/recommendations.openapi) backend API.

## Capabilities

- Collects device and behavioral data automatically in the background
- Reports user action events (login, registration, transaction, etc.) for risk assessment
- Provides device session tokens for correlating client-side and backend events


## 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:accountprotection:3.+")
}
```

## 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 Application : Application() {
    override fun onCreate() {
        super.onCreate()
        TSAccountProtection.initializeSDK(this)
    }
}
```

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

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

Java
```java
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        TSAccountProtection.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/` |
| Sandbox | `https://api.sbx.transmitsecurity.io/` |
| Custom domain | `https://<your-domain>.com/` (see [Custom domains](/guides/deployment/custom_domains)) |


## Next steps

- [Android quickstart](/guides/risk/quick_start_android)
- [SDK reference](https://transmitsecurity.github.io/accountprotection-android-sdk/)
- [Test your integration](/guides/risk/test_drs_android)