# Android

{% hint style="info" %}
**Current SDK Version: 3.66.1**
{% endhint %}

{% hint style="success" %}
DT FairBid and DT Offer Wall are integrated through the same SDK: the DT FairBid SDK.
{% endhint %}

## Prerequisites <a href="#id-01h537tc7mw967s8m370eqbmy3" id="id-01h537tc7mw967s8m370eqbmy3"></a>

* Android 4.4 (API Level 19) or later
* Kotlin 2.1.0 or later
* Google Play Services 11.4.0 or later

### Tooling <a href="#h_01jqf2dk4pfp8yvwa6swx1hchm" id="h_01jqf2dk4pfp8yvwa6swx1hchm"></a>

FairBid SDK does not require specific tooling, e.g., Android Studio, Android Gradle Plugin (AGP), Java Development Kit (JDK), and Gradle. However, if you use the following versions of Gradle, use the following versions of AGP and JDK:

* For Gradle 7.5 or later:
  * AGP 7.5. or later
  * JDK 11
* For Gradle 8 or later:
  * AGP 8 or later
  * JDK 17

### Compile and Target SDK <a href="#h_01jqf2dk4pj68rzcs6wqkj2v99" id="h_01jqf2dk4pj68rzcs6wqkj2v99"></a>

FairBid SDK does not require specific compile or target SDK versions for your app. It maintains compatibility by performing runtime checks for APIs that are not available in the minimum supported version (API Level 19). The highest Android API that FairBid directly utilizes is API Level 30.

## Integration <a href="#id-01h537tc7m8na96fcax6qt79jc" id="id-01h537tc7m8na96fcax6qt79jc"></a>

DT supports both Gradle dependencies and manual downloads to integrate the SDK.

### Gradle <a href="#id-01h537tc7mb6d5fec8vse3egkn" id="id-01h537tc7mb6d5fec8vse3egkn"></a>

Add DT Maven repository and plugins to your Gradle build script:

1. Add the following to your project's root-level `build.gradle` file inside the `repositories` section.
2. At the root level `build.gradle` file, there are usually two repository sections - one for `buildscript` and one for `allprojects`. Add the entry in `allprojects`:

{% code title="Gradle" %}

```groovy
allprojects {
    repositories {
        mavenCentral()
    }
    ...
}
```

{% endcode %}

3. Add the following to the project app-level `build.gradle` file inside the plugins section.\
   For more information, see [Types of Gradle Plugins](https://docs.gradle.org/current/userguide/plugins.html#sec:plugins_block):

{% code title="Gradle" %}

```groovy
plugins {
    ...
    id 'com.fyber.fairbid-sdk-plugin' version '3.66.1'
    ...
}
```

{% endcode %}

4. If you support Android SDK below 26, add the following snippet to the `Android` section (for Java Version Compatibility):

{% code title="Gradle" %}

```java
android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    ...
}
```

{% endcode %}

### Manual Download <a href="#h_01hp1ca0z3n7v15289kngbv0cp" id="h_01hp1ca0z3n7v15289kngbv0cp"></a>

{% @dt-download-buttons/FairBid-Download-Button-android %}

1. Download the DT FairBid SDK.
2. Extract the file.
3. Import the `.aar` packages into your project.

### Optional Permissions <a href="#id-01h537tc7nhe4qyqsrzjqp7at0" id="id-01h537tc7nhe4qyqsrzjqp7at0"></a>

The following permissions are not required for our SDK or 3rd-party SDKs to function, but including them in your `AndroidManifest.xml` may result in improved eCPM and user experience:

{% code title="XML" %}

```xml
<!-- Optionally used by FairBid -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```

{% endcode %}

## Adding Third-Party SDKs <a href="#h_01jjhakjtsgj4dj0fz6znm5xmd" id="h_01jjhakjtsgj4dj0fz6znm5xmd"></a>

In addition to integrating the DT FairBid SDK you must integrate chosen third-party networks' SDKs into their app.

* Set up your app in the network's dashboard and in the DT Console. For more information, see [Setting Up DT FairBid.](https://docs.digitalturbine.com/dt-fairbid/getting-started-with-dt-fairbid/setting-up-your-app-in-the-dt-console)
* Download the relevant network's SDK. For more information about supported networks and their SDKs, see [Supported Networks](https://docs.digitalturbine.com/dt-fairbid/fairbid-sdk/supported-networks).
  * You must add additional configurations for each third-party network.
  * These entries are found by selecting your third-party networks in the table.

{% hint style="info" %}
The DT FairBid SDK automatically detects and initializes SDKs from third-party networks.
{% endhint %}

Once you've added all third-party SDKs and [set up your app in the console](https://docs.digitalturbine.com/dt-fairbid/getting-started-with-dt-fairbid/setting-up-your-app-in-the-dt-console), you can [initialize the DT Fairbid SDK](https://docs.digitalturbine.com/dt-fairbid/fairbid-sdk/initializing-the-sdk).
