AdMob 横幅显示在模拟器中,但未显示在 device/TestFlight

AdMob banner shows in Simulator but not on device/TestFlight

我在应用中使用 AdMob 制作横幅广告。横幅广告显示在模拟器上,但当我通过连接线或 TestFlight 运行 在 iPhone 设备上显示时,它不会显示。

这是我在真实设备上 运行 的代码:

let request = GADRequest()
bannerView.adUnitID = realAdUnitID
bannerView.rootViewController = self
bannerView.delegate = self
bannerView.load(request)

我是不是漏掉了什么?

我已经尝试查看其他问题,但没有任何建议对我有用。

谢谢!

首先,您运行使用的是debug还是release版本?如果您 运行 您的应用处于调试模式,请将设备 ID(您可以在控制台中找到)添加到 testDevices 数组:

let request = GADRequest()
request.testDevices = [kGADSimulatorID,  // All simulators
                       "2077ef9a63d2b398840261c8221a0c9b"];  // Sample device ID

Read more about test ads in AdMob Documentation

您应该考虑的第二件事是 AdMob 可能无法为您的广告提供足够的填充率。特别是如果该应用程序是新的,可能需要一些时间来分析流量,然后该服务才能为您提供一些广告。如果您在发布模式下测试您的应用,请考虑这一点。

或许可以尝试检查您的 iPhone 设置,看看是否启用了“限制广告跟踪”? (Settings/Privacy/Advertising).