Skip to content

Android SDK - Installation

Requirements: Android API 24+ ยท Kotlin or Java


The MDN11 Android SDK is distributed through a private Maven repository on GitHub Packages.

Info

Repository access is granted via a shared Personal Access Token (PAT). Aurion11 will provide you with a PAT with access to the private Maven repository.

1. Store credentials in your user-level Gradle properties

Add the credentials to ~/.gradle/gradle.properties:

a11GithubUser=a11-gh-dist
a11GithubToken=<PAT provided by Aurion11>

2. Add the repository to your project

Add the repository to your project's settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        // ... other existing repos
        maven {
            url = uri("https://maven.pkg.github.com/Aurion11/dist-mediation11-android")
            credentials {
                username = providers.gradleProperty("a11GithubUser").get()
                password = providers.gradleProperty("a11GithubToken").get()
            }
        }
    }
}

3. Add the MDN11 SDK dependency

Add the SDK to your app's build.gradle.kts.

Recommended

Use the BOM (bill of materials) and omit versions on all MDN11 artifacts. The BOM pins the SDK and all adapters to a matching set of versions, so you only update one version number.

Find the latest BOM, SDK and adapter versions in the changelog.

build.gradle.kts
dependencies {
    implementation(platform("com.a11.sirius:a11-bom:2026.09.06"))
    implementation("com.a11.sirius:a11-sdk")
}

Or declare an explicit version:

build.gradle.kts
dependencies {
    implementation("com.a11.sirius:a11-sdk:3.2.10")
}

4. Declare ad network adapters

Declare an adapter for each mediation platform or ad network active on your MDN11 account. Aurion11 confirms which ones those are during integration. With the BOM, omit the versions. Without it, append the adapter version, for example com.a11.sirius.adapters:applovin:13.0.10. Find each adapter's version in Supported ad networks.

A mediation platform adapter includes only that platform's SDK. Add the platform's own adapters for the networks you mediate through it, as described in its documentation.

build.gradle.kts
dependencies {
    implementation("com.a11.sirius.adapters:applovin")
}
build.gradle.kts
dependencies {
    implementation("com.a11.sirius.adapters:google-mediation")
}
build.gradle.kts
dependencies {
    implementation("com.a11.sirius.adapters:google")
}
build.gradle.kts
dependencies {
    implementation("com.a11.sirius.adapters:levelplay")
}

5. Set privacy signals

Set any privacy signals that may apply to your app before you initialize the SDK, so ad networks get the user's privacy status from the first ad request. If you use a consent management platform (CMP), we recommend waiting until it has established the user's consent status. See Privacy signals.

6. Initialize the SDK

Initialize the SDK as early as possible in your app's lifecycle, so it can fetch its configuration before your first ad request. Call it, for example, in Application.onCreate(). If you use a CMP, call MDN11 SDK initialize after the CMP completes, typically in your launch activity.

Recommended

Don't initialize a mediated network's SDK outside MDN11. Most SDKs can only be initialized once and use the config of whichever caller is first, so MDN11 may not be able to apply its own config.

Caution

MDN11 SDK initialize must be called from the main thread, before you get any ad object. Set privacy signals before initializing MDN11 SDK. See Privacy signals.

import com.aurion11.sirius.sdk.A11

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        // Initialize - call once
        A11.init(this, "YOUR_APP_KEY", listOf("https://your-host-url.com"))
    }
}

Register in AndroidManifest.xml:

<application android:name=".MyApplication" ... >

Next steps

Integrate your ad units.