Integration
This guide explains how to add the Empower Mobile Ads SDK to your Android project.
Step 1: Configure Repositories
Pick the path that matches your build policy. The settings plugin is the default and stays in sync with the SDK automatically. Use the manual setup only when third-party Gradle plugins are restricted in your project.
Standard setup (settings plugin)
Add the Empower maven to pluginManagement.repositories, then apply the settings plugin. The plugin registers every Maven repo the SDK and its mediation adapters need (Empower, AppLovin, Pangle, IronSource, Ogury). Bumping the plugin version is enough when networks change in a future release.
- Kotlin DSL
- Groovy
pluginManagement {repositories {google()mavenCentral()gradlePluginPortal()maven { url = uri("https://maven.empower.net/release") }}}plugins {id("net.empower.mobile.ads.settings") version "5.7.16"}
If your project already declares dependencyResolutionManagement (including with repositoriesMode = FAIL_ON_PROJECT_REPOS), the plugin appends to it without conflict.
Without the settings plugin
Declare every Maven repository the SDK needs yourself. You will need to add new repositories manually when the SDK adds networks in future releases.
- Kotlin DSL
- Groovy
//settings.gradle.ktsdependencyResolutionManagement {repositories {google()mavenCentral()// Empower Mobile Ads SDKmaven {url = uri("https://maven.empower.net/release")content { includeGroup("net.empower.mobile.ads") }}// AppLovin SDK & mediation adaptersmaven {url = uri("https://artifacts.applovin.com/android")content { includeGroupByRegex("com\\.applovin.*") }}// Pangle / ByteDancemaven {url = uri("https://artifact.bytedance.com/repository/pangle/")content { includeGroupByRegex("com\\.(bytedance|pangle).*") }}// IronSource / Fyber / DT Exchangemaven {url = uri("https://android-sdk.is.com/")content { includeGroupByRegex("com\\.(ironsource|fyber).*") }}// Ogurymaven {url = uri("https://maven.ogury.co")content { includeGroupByRegex("co\\.ogury.*") }}}}
Step 2: Add the SDK Dependencies
Add two dependencies in your app module. Use empower-mobile-ads-mediation if you target play-services-ads 24.0.0+ (minSdk 23+). Use empower-mobile-ads-mediation-legacy for play-services-ads below 24.0.0 (minSdk 21).
- Kotlin DSL
- Groovy
//app/build.gradle.kts:dependencies {implementation("net.empower.mobile.ads:empower-mobile-ads:5.7.16")implementation("net.empower.mobile.ads:empower-mobile-ads-mediation:5.7.16")// Or, for GMA below 24 / minSdk 21:// implementation("net.empower.mobile.ads:empower-mobile-ads-mediation-legacy:5.7.16")}
3. Project Compatibility (Java 11 + Desugaring)
Your app module must compile with Java 11 and have core library desugaring enabled.
- Kotlin DSL
- Groovy
//app/build.gradle.kts:android {compileOptions {sourceCompatibility = JavaVersion.VERSION_11targetCompatibility = JavaVersion.VERSION_11isCoreLibraryDesugaringEnabled = true}kotlin {jvmToolchain(11)}}
Java 17+ is fine; the SDK is forward-compatible.
4. Add Your Google App ID
Add the AdMob application ID inside the <application> tag of your AndroidManifest.xml. Replace the placeholder with the value Empower provided.
<manifest><application><meta-dataandroid:name="com.google.android.gms.ads.APPLICATION_ID"android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/></application></manifest>
Customizing Mediation
Both bundles include every supported adapter. Use Gradle's exclude to drop a specific network.
- Kotlin DSL
- Groovy
//app/build.gradle.kts:implementation("net.empower.mobile.ads:empower-mobile-ads-mediation:5.7.16") {exclude(group = "com.google.ads.mediation", module = "pangle")exclude(group = "com.applovin.mediation", module = "vungle-adapter")}
Bundled Mediation Networks
A few networks appear twice (once per source) because both AppLovin and AdMob ship adapters for them.
| Network | Source | Exclude Group | Exclude Module |
|---|---|---|---|
| AppLovin | com.applovin.mediation | google-adapter | |
| Google Ad Manager | AppLovin | com.applovin.mediation | google-ad-manager-adapter |
| Meta / Facebook Audience Network | AppLovin | com.applovin.mediation | facebook-adapter |
| Unity Ads | AppLovin | com.applovin.mediation | unityads-adapter |
| Vungle | AppLovin | com.applovin.mediation | vungle-adapter |
| Pangle / ByteDance | AppLovin | com.applovin.mediation | bytedance-adapter |
| Mintegral | AppLovin | com.applovin.mediation | mintegral-adapter |
| InMobi | AppLovin | com.applovin.mediation | inmobi-adapter |
| Fyber / DT Exchange | AppLovin | com.applovin.mediation | fyber-adapter |
| PubMatic | AppLovin | com.applovin.mediation | pubmatic-adapter |
| Ogury | AppLovin | com.applovin.mediation | ogury-presage-adapter |
| Yandex | AppLovin | com.applovin.mediation | yandex-adapter |
| InMobi | AdMob | com.google.ads.mediation | inmobi |
| Mintegral | AdMob | com.google.ads.mediation | mintegral |
| Pangle | AdMob | com.google.ads.mediation | pangle |
| Unity Ads | AdMob | com.google.ads.mediation | unity |
Troubleshooting
| Issue | Fix |
|---|---|
| Settings plugin not found | Add https://maven.empower.net/release to pluginManagement.repositories (Step 1). |
| Dependency resolution failed | Apply the settings plugin (Step 1) or declare all repositories manually. |
minSdkVersion conflict | Switch to empower-mobile-ads-mediation-legacy for minSdk 21. |
| Duplicate class errors | Check for conflicting ad network versions pulled in by other dependencies. |
| Core library desugaring error | Enable isCoreLibraryDesugaringEnabled and add desugar_jdk_libs (Step 3). |