You need to enable JavaScript to run this app. 升级play-services-ads:20.1.0后setNativeAd类型不匹配如何解决
优惠活动
大模型
产品
解决方案
定价
更多

升级play-services-ads:20.1.0后setNativeAd类型不匹配如何解决

问题根因

你当前使用的原生广告模板(NativeTemplateView)为旧版本,仅适配com.google.android.gms:play-services-ads 20.0.0以下版本的UnifiedNativeAd类型。20.0.0及以上版本的AdMob SDK已经将UnifiedNativeAd、AppOpenAd等多种广告格式统一归为新的NativeAd类,新旧类型不匹配导致参数传入报错。

解决步骤

  • 方案1(推荐,适配官方最新规范):升级原生广告模板依赖
    打开项目Module级的build.gradle文件,找到原生广告模板的依赖项,将版本升级到2.0.0及以上:

    implementation 'com.google.android.ads:native-templates:2.0.0'
    

    同步Gradle后即可解决类型不匹配问题,2.0.0及以上版本的模板setNativeAd()方法已适配新的NativeAd参数。

    注意:同步完成后如果仍有报错,请检查代码中NativeAd的导包路径是否为com.google.android.gms.ads.nativead.NativeAd,避免引用到已废弃的旧包类。

  • 方案2(临时兼容,不建议长期使用):回退AdMob SDK版本
    如果暂时不希望修改模板代码,可以将play-services-ads的版本回退到最后一个支持UnifiedNativeAd的19.8.0版本:

    implementation 'com.google.android.gms:play-services-ads:19.8.0'
    

内容的提问来源于stack exchange,提问作者kunal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 02:36:10