Unity 2020.3集成Google Ads依赖解析失败、构建后无广告问题求助
问题根因
你遇到的三类报错属于连锁问题:Gradle安装包损坏会导致依赖解析链路失效,进而无法拉取Google Ads依赖SDK,Unity编辑器内默认走模拟广告逻辑所以不受影响,打包后真机加载时缺少核心SDK就会出现广告不展示的问题。
分步修复方案
1. 修复Gradle压缩包损坏报错
- 定位Unity 2020.3内置Gradle存放目录,默认路径为
C:\Program Files\Unity\Hub\Editor\2020.3.x\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle,删除目录下已损坏的gradle-5.1.1-bin.zip文件 - 手动下载完整的gradle-5.1.1-bin.zip压缩包放入上述目录,无需解压,确认文件大小正常避免二次损坏,即可解决
java.util.zip.ZipException异常 - 检查系统环境变量,确认没有配置全局GRADLE_HOME变量覆盖Unity内置Gradle路径,如有配置可删除或修改为Unity内置Gradle的对应路径
2. 修复play-services-ads依赖拉取失败报错
- 打开Unity菜单栏
Assets > External Dependency Manager > Android Resolver > Settings,勾选Use Custom Gradle Template、Enable Jetifier两个配置项 - 进入项目
Assets/Plugins/Android目录,打开baseProjectTemplate.gradle文件,在repositories节点下优先添加可用的maven镜像源,排在google()、jcenter()配置之前 - 回到Unity执行
Assets > External Dependency Manager > Android Resolver > Force Resolve,等待依赖解析完成,中途不要中断操作 - 若仍无法拉取到
com.google.android.gms:play-services-ads:20.0.0依赖,可手动下载对应版本的aar包放入Assets/Plugins/Android目录,跳过自动拉取环节
3. 修复打包后广告不展示问题
- 打开Unity Player Settings > Publishing Settings,确认已勾选Custom Main Gradle Template、Custom Gradle Properties Template两个选项
- 检查
Assets/Plugins/Android/AndroidManifest.xml文件,确认已添加AD_ID权限、com.google.android.gms.ads.APPLICATION_ID元数据配置,两项缺失会导致广告SDK初始化失败 - 真机测试前确认测试设备已安装Google Play服务,网络可正常访问Google服务,测试阶段优先使用官方测试广告ID,避免低填充率导致误以为加载失败
内容的提问来源于stack exchange,提问作者Nofil Khan
相关产品推荐
相关产品推荐

