AdMob横幅在模拟器上显示但在设备/TestFlight上不显示

3

我正在应用程序中使用AdMob横幅广告。在模拟器上可以看到横幅广告,但是当我通过连接线或TestFlight在iPhone设备上运行时,横幅广告没有显示。

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

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

我有没有遗漏什么?

我已经尝试查看其他问题,但是至今为止没有建议的方法对我有效。

谢谢!

2个回答

8

首先,你是运行调试版本还是发布版本?如果你在调试模式下运行应用程序,请将设备 id(可以在控制台中找到)添加到 testDevices 数组中:

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

阅读AdMob文档中有关测试广告的更多信息

其次,您需要考虑的是,AdMob可能无法为您的广告提供足够的填充率。特别是如果应用程序很新,需要一些时间来分析流量,才能向您提供广告服务。在发布模式下测试您的应用程序时,请考虑此问题。


嘿,感谢回复!所以我使用request.testDevices = [kGADSimulatorID]在模拟器上显示了横幅广告,但我正在尝试在TestFlight上显示横幅广告,并且认为我不需要为每个大测试组中的TestFlight用户手动输入每个设备ID。那么这是错误的假设吗? - SRMR
@SRMR,是的,我确定。 - kelin
啊,太遗憾了。那么,当应用程序准备好发布到App Store时,只需删除request.testDevices = [kGADSimulatorID]这一行,一切都会正常工作吗? - SRMR
@SRMR,你现在甚至可以尝试一下,只需不要过多点击广告即可。我这样做了,AdMob没有屏蔽我的应用程序。 - kelin
那么你的意思是,即使在生产/应用商店版本中,你也可以保留request.testDevices = [kGADSimulatorID],一切都没问题了? - SRMR
不,完全不是。我的意思是你可以删除“testDevices”,并使用发布构建配置运行方案来测试广告,而无需提交到Appstore。 - kelin

1
也许您可以检查一下您的iPhone设置,看看是否开启了广告追踪限制?(设置/隐私/广告)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接