Unity LevelPlay广告初始化失败、Google Play安装崩溃问题求助
Unity LevelPlay 集成广告异常问题排查与解决
环境信息
- Unity版本:2020.3.42f1
- LevelPlay版本:7.2.6
- 已安装适配器:
- ironSource 7.2.6
- UnityAds 4.3.29.1
问题1:本地Build & Run后IronSource.Agent.init(appKey)返回INIT_FAILED
可能原因
- AppKey不匹配:使用的AppKey与当前构建平台、应用包名未绑定,ironSource会严格验证两者对应关系。
- 权限/依赖缺失:未添加网络权限(广告初始化需联网验证),或适配器依赖库未正确导入。
- 初始化时机不当:在Unity生命周期过早调用
IronSource.Agent.init(如Awake阶段),此时相关模块未就绪。 - 无调试日志:未开启ironSource调试日志,无法定位具体失败细节。
解决步骤
- 核对AppKey:登录ironSource后台,确认当前应用包名、平台对应的AppKey,替换错误值。
- 补全权限:Android端在
AndroidManifest.xml添加<uses-permission android:name="android.permission.INTERNET"/>和<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>;iOS端在Info.plist开启网络权限。 - 调整初始化时机:将
IronSource.Agent.init(appKey)移至Start方法,或在OnApplicationFocus中首次获取焦点时调用。 - 开启调试日志:在初始化前调用
IronSource.Agent.setDebugLogs(true);,通过Console日志定位具体失败原因。
问题2:Google Play内部测试包安装后崩溃,提示AdMob未初始化(未使用AdMob适配器)
可能原因
- LevelPlay隐式依赖:ironSource LevelPlay核心SDK默认包含AdMob相关引用,即使未安装适配器,构建时仍会打包相关代码,触发初始化逻辑。
- Google Play签名冲突:上传包被Google Play重新签名后,ironSource签名验证失败,触发异常依赖初始化。
- Gradle配置引入依赖:启用自定义Gradle模板后,配置中自动引入了AdMob依赖。
解决步骤
- 清理残留依赖:检查Package Manager中是否有AdMob相关包并删除;同时清理
Assets/Plugins/Android下的AdMob相关jar/aar文件。 - 禁用AdMob自动初始化:在AndroidManifest.xml中添加:
<meta-data android:name="com.ironsource.admob_auto_init" android:value="false" /> - 检查Gradle配置:打开自定义Gradle模板(
mainTemplate.gradle),移除com.google.android.gms:play-services-ads相关依赖;确保Gradle仅解析已安装的适配器依赖。 - 对齐签名配置:在Unity Player Settings中设置与Google Play后台一致的Keystore,避免签名验证触发异常逻辑。
内容的提问来源于stack exchange,提问作者dogiordano
相关产品推荐
相关产品推荐

