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

集成AdMob插屏广告遇控制台报错,求问题排查方案

解决AdMob插屏广告加载失败(SSL错误+代码逻辑问题)

嘿,我来帮你搞定这个AdMob插屏广告的问题。从你贴的日志和代码来看,主要有两个核心问题需要解决:ATS SSL信任错误,以及代码里的广告加载逻辑漏洞。

一、先处理ATS SSL信任错误(日志里的-1200/9802错误)

你日志里的ATS failed system trust和NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)是App Transport Security(ATS)在阻止不安全的网络请求。虽然AdMob的官方域名都是支持HTTPS的,但模拟器或本地环境偶尔会出现这个问题,试试下面的方案:

  • 临时开启ATS任意加载(测试用):
    打开项目的Info.plist,添加以下配置(注意上线前要改成针对AdMob域名的例外,不要一直开着):
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  • 重置模拟器缓存:
    有时候模拟器的SSL缓存会出问题,你可以通过Simulator -> Device -> Erase All Content and Settings重置模拟器,然后重启项目重试。
  • 关闭代理/VPN:
    如果你的Mac开了代理或VPN,可能会干扰SSL证书验证,先关掉再试试加载广告。

二、修复代码里的广告加载逻辑错误

你的代码在viewDidLoad里有重复初始化的问题,导致第一个广告实例被直接丢弃,而且代理设置的顺序也不对。我帮你调整了代码:

var interstitial: GADInterstitial!
@IBOutlet weak var startButton: UIButton!

override func viewDidLoad() {
    super.viewDidLoad()
    // 直接调用创建并加载广告的方法,避免重复初始化
    interstitial = createAndLoadInterstitial()
}

@IBAction func startButtonAd(_ sender: Any) {
    if interstitial.isReady {
        interstitial.present(fromRootViewController: self)
    } else {
        // 广告未准备好时,可以提示用户或者重新加载
        print("广告尚未准备就绪,正在重新加载...")
        interstitial = createAndLoadInterstitial()
    }
}

func createAndLoadInterstitial() -> GADInterstitial {
    let interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910")
    interstitial.delegate = self
    // 按照日志提示添加测试设备ID,避免被AdMob限制
    let request = GADRequest()
    request.testDevices = [kGADSimulatorID] // 模拟器测试专用
    interstitial.load(request)
    return interstitial
}

func interstitialDidDismissScreen(_ ad: GADInterstitial) {
    // 广告关闭后重新加载下一个广告
    interstitial = createAndLoadInterstitial()
}

这里几个关键的调整点:

  1. 去掉了viewDidLoad里重复的interstitial初始化,直接调用createAndLoadInterstitial()完成初始化和加载。
  2. 添加了测试设备ID,对应日志里的提示,防止频繁请求触发AdMob的限制。
  3. 在按钮点击事件里增加了广告未准备好的处理逻辑,提升用户体验。

先按上面的步骤修复,应该就能正常加载插屏广告了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:57:11