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.

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.

//settings.gradle.kts
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
// Empower Mobile Ads SDK
maven {
url = uri("https://maven.empower.net/release")
content { includeGroup("net.empower.mobile.ads") }
}
// AppLovin SDK & mediation adapters
maven {
url = uri("https://artifacts.applovin.com/android")
content { includeGroupByRegex("com\\.applovin.*") }
}
// Pangle / ByteDance
maven {
url = uri("https://artifact.bytedance.com/repository/pangle/")
content { includeGroupByRegex("com\\.(bytedance|pangle).*") }
}
// IronSource / Fyber / DT Exchange
maven {
url = uri("https://android-sdk.is.com/")
content { includeGroupByRegex("com\\.(ironsource|fyber).*") }
}
// Ogury
maven {
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).

//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.

//app/build.gradle.kts:
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
isCoreLibraryDesugaringEnabled = 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-data
android: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.

//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.

NetworkSourceExclude GroupExclude Module
GoogleAppLovincom.applovin.mediationgoogle-adapter
Google Ad ManagerAppLovincom.applovin.mediationgoogle-ad-manager-adapter
Meta / Facebook Audience NetworkAppLovincom.applovin.mediationfacebook-adapter
Unity AdsAppLovincom.applovin.mediationunityads-adapter
VungleAppLovincom.applovin.mediationvungle-adapter
Pangle / ByteDanceAppLovincom.applovin.mediationbytedance-adapter
MintegralAppLovincom.applovin.mediationmintegral-adapter
InMobiAppLovincom.applovin.mediationinmobi-adapter
Fyber / DT ExchangeAppLovincom.applovin.mediationfyber-adapter
PubMaticAppLovincom.applovin.mediationpubmatic-adapter
OguryAppLovincom.applovin.mediationogury-presage-adapter
YandexAppLovincom.applovin.mediationyandex-adapter
InMobiAdMobcom.google.ads.mediationinmobi
MintegralAdMobcom.google.ads.mediationmintegral
PangleAdMobcom.google.ads.mediationpangle
Unity AdsAdMobcom.google.ads.mediationunity

Troubleshooting

IssueFix
Settings plugin not foundAdd https://maven.empower.net/release to pluginManagement.repositories (Step 1).
Dependency resolution failedApply the settings plugin (Step 1) or declare all repositories manually.
minSdkVersion conflictSwitch to empower-mobile-ads-mediation-legacy for minSdk 21.
Duplicate class errorsCheck for conflicting ad network versions pulled in by other dependencies.
Core library desugaring errorEnable isCoreLibraryDesugaringEnabled and add desugar_jdk_libs (Step 3).