Android应用集成AppLovin与AdMob中介遇Gradle依赖及代码问题
AdMob中介集成AppLovin/Meta 实战解决指南
一、先搞定Gradle依赖解析错误
- 盯紧版本兼容性:AdMob的
play-services-ads和AppLovin/Meta的中介adapter版本必须严格匹配,比如用play-services-ads:22.6.0,对应的AppLovin adapter就得是com.google.ads.mediation:applovin:11.11.0.0,Meta adapter是com.google.ads.mediation:facebook:6.12.0.0(版本对应关系核对官方适配表即可,别乱跨版本) - 核对Project级仓库配置:新版AGP去
settings.gradle的dependencyResolutionManagement里加仓库:
老版本在Project级repositories { google() mavenCentral() maven { url 'https://artifacts.applovin.com/android' } maven { url 'https://maven.facebook.com' } }build.gradle的allprojects.repositories里添加即可 - 模块级
build.gradle依赖按规范写,避免重复冲突:dependencies { // AdMob核心依赖 implementation 'com.google.android.gms:play-services-ads:22.6.0' // AppLovin中介Adapter implementation 'com.google.ads.mediation:applovin:11.11.0.0' // Meta(Facebook)中介Adapter implementation 'com.google.ads.mediation:facebook:6.12.0.0' } - 仍报错就清缓存重启:
File > Invalidate Caches... > Invalidate and Restart,基本能解决大部分依赖解析问题
二、应用代码核心配置(中介无需大幅修改原有AdMob代码)
- 初始化环节:
- 保留原有AdMob初始化代码,放在Application类或启动页:
MobileAds.initialize(this) { initializationStatus -> // 打印日志排查中介状态,方便定位问题 val statusMap = initializationStatus.adapterStatusMap for ((adapterName, status) in statusMap) { Log.d("AdMobInit", "$adapterName: ${status.description}") } } - AppLovin无需单独初始化,但要在
AndroidManifest.xml中添加SDK密钥(从AppLovin控制台获取):<meta-data android:name="applovin.sdk.key" android:value="你的AppLovin SDK密钥"/>
- 保留原有AdMob初始化代码,放在Application类或启动页:
- 广告请求代码:和原有AdMob代码完全一致!比如插屏广告示例:
val interstitialAd = InterstitialAd(this) interstitialAd.adUnitId = "你的AdMob插屏AdUnitID" // 直接用原有AdMob ID,后台已配置中介 interstitialAd.loadAd(AdRequest.Builder().build()) // 展示逻辑不变 if (interstitialAd.isLoaded) { interstitialAd.show(this) } - 广告不展示排查:看初始化日志,如果某个adapter显示
Not ready,回去核对后台配置:AdMob中介是否开启对应网络,AppLovin/Meta的ID是否填写正确,对方控制台是否开启对应广告格式
三、Meta(Facebook)中介集成快速步骤
- 后台配置:AdMob控制台添加Meta为中介网络,填写Meta的App ID、Placement ID(从Meta开发者控制台获取)
- Gradle配置:添加上述Meta adapter依赖,确保仓库配置正确
- Manifest配置:添加Meta的App ID:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="你的Meta App ID"/> - 代码无需额外修改,AdMob会自动调度Meta广告
常见踩坑点
- Gradle错误90%源于版本不匹配,别盲目追新,严格对应版本适配表
- 后台ID别填混:代码里用的是AdMob的AdUnitID,AppLovin/Meta的ID是填在AdMob中介配置中的
- 测试用官方测试ID,避免触发限流:比如AdMob插屏测试ID
ca-app-pub-3940256099942544/1033173712,AppLovin可在控制台开启测试模式
内容的提问来源于stack exchange,提问作者DP7
相关产品推荐
相关产品推荐

