You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode中Google Mobile Ads SDK初始化缺失AppMeasurement报错求助

iOS Unity应用启动触发GADInvalidInitializationException:未初始化AppMeasurement

问题描述

我每月更新用Unity开发的iOS应用,之前一直正常,一周前启动时突然崩溃,报错信息如下:

终止应用,未捕获异常'GADInvalidInitializationException',原因:'The Google Mobile Ads SDK was initialized without AppMeasurement.'(Google AdMob发布者需按指定链接配置AppMeasurement框架及-ObjC链接器标志)

iPhone和iPad测试均出现该错误。因在Windows系统构建,不使用CocoaPods,导出Xcode项目到Mac后手动添加两个包:

  • Google Mobile Ads(Swift Package Manager仓库)
  • Firebase iOS SDK

之前沿用数月的配置流程:

  1. 将上述包添加到项目框架
  2. 关闭Bitcode
  3. 在info.plist中添加键GADIsAdManagerApp(Bool类型,值为True)

当前使用的SDK版本:

  • GoogleMobileAds 10.13.0
  • Firebase 10.17.0
  • GoogleAppMeasurement 10.17.0

想确认三个问题:

  • 这是Google SDK的bug吗?
  • 新版本SDK的配置流程是否有变更?
  • 有没有其他开发者遇到过相同问题?

可能的解决方向

1. 检查AppMeasurement依赖关联

手动添加SPM包时,可能存在版本匹配或依赖关联失效的情况:

  • 删除已添加的SPM包,重新添加时让GoogleMobileAds自动拉取匹配的AppMeasurement版本,而非手动指定版本
  • 确认Xcode的Frameworks, Libraries, and Embedded Content中,GoogleAppMeasurement设置为Embed & Sign状态

2. 验证-ObjC链接器标志

报错明确要求配置该标志,检查Xcode项目Build Settings → Other Linker Flags是否确实添加了-ObjC。项目重置或Xcode更新可能导致该标志丢失。

3. 排查Unity导出配置变化

Unity导出Xcode项目时的配置可能因版本更新改变:

  • 确认Unity端AdMob插件版本与iOS端GoogleMobileAds版本兼容
  • 检查Unity导出设置中是否存在禁用框架嵌入的选项

4. 验证版本兼容性

已有部分开发者反馈10.13.0版本的GoogleMobileAds在手动SPM配置下出现AppMeasurement关联问题,可尝试降级到之前能正常运行的版本(比如GoogleMobileAds 10.12.x + Firebase 10.16.x),排查是否为新版本兼容性问题。

5. 调整初始化顺序

确保Firebase(包含AppMeasurement)的初始化在GoogleMobileAds之前执行。如果是Unity端的初始化代码,调整执行顺序:先初始化Firebase,再初始化AdMob。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:12:16