> For the complete documentation index, see [llms.txt](https://docs.digitalturbine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalturbine.com/dt-fairbid/fairbid-sdk/sdk-integration/android.md).

# Android

{% hint style="info" %}
**Current SDK Version: 3.67.0**
{% 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.67.0'
    ...
}
```

{% 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>

<a href="https://storage.googleapis.com/gcs-fairbid-sdk-assets-prod-useast1/fairbid-sdk/android/FairBid-Android-SDK-3.67.0.zip" class="button secondary" data-icon="arrow-down">Android SDK 3.67.0</a>

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 %}

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](/dt-fairbid/getting-started-with-dt-fairbid/setting-up-your-app-in-the-dt-console.md).
* Download the relevant network's SDK. For more information about supported networks and their SDKs, see [Supported Networks](/dt-fairbid/fairbid-sdk/supported-networks.md).
  * 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](/dt-fairbid/getting-started-with-dt-fairbid/setting-up-your-app-in-the-dt-console.md), you can [initialize the DT FairBid SDK](/dt-fairbid/fairbid-sdk/initializing-the-sdk.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digitalturbine.com/dt-fairbid/fairbid-sdk/sdk-integration/android.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
