Unity安卓游戏遇Google Mobile Ads SDK初始化错误启动闪退求助
故障根因分析
- 你当前提供的AndroidManifest归属
com.google.unity.ads插件包,并非你游戏主包(包名com.mgamezmonster.classicsudoku)的主Manifest文件。Google Mobile Ads SDK初始化时只会读取主包Manifest的配置,你写在插件Manifest中的ID配置不会被识别,因此抛出初始化失败异常。 - 部分Unity版本的Google Mobile Ads插件存在Manifest合并异常问题,即使插件内配置了对应参数,也不会自动合并到最终打包生成的主Manifest文件中。
可行解决方案
方案1:自定义游戏主Manifest配置
- 在Unity项目的
Assets/Plugins/Android目录下创建自定义主AndroidManifest.xml,内容如下,直接将广告ID配置写入主Manifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mgamezmonster.classicsudoku" android:versionName="1.0" android:versionCode="1"> <application> <uses-library android:required="false" android:name="org.apache.http.legacy" /> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-8340576279106634~6644533547" /> <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" /> </application> </manifest>
- 打包前进入Unity Build Settings的Android配置页,勾选「Custom Main Manifest」选项,确保打包时优先使用你自定义的主Manifest文件。
方案2:校验插件配置
- 打开Unity编辑器的
Services > Ads设置面板,确认填入的AdMob应用ID和Manifest里的ca-app-pub-8340576279106634~6644533547完全一致,无多余空格、错字。 - 将Google Mobile Ads Unity插件升级到最新稳定版,规避旧版本的Manifest合并bug。
方案3:验证最终打包产物
- 打包生成APK后,用Android Studio自带的APK Analyzer打开APK,查看最终的
AndroidManifest.xml内容,确认广告ID对应的meta-data配置已经存在于application节点下。如果不存在,直接改用方案1强制配置即可。
内容的提问来源于stack exchange,提问作者Kenor
相关产品推荐
相关产品推荐

