request.testDevices = @[ @"70b9ee4e66c8e6fa26cb84def25706d9" ];
另外,我已经在另一个设备上加载了应用程序,但仍然没有广告横幅出现,这让我想知道当我将应用程序提交到App Store时,所有用户都不会在他们的设备上看到广告是很合理的。为什么会发生这种情况?我一直在琢磨这个问题!在我确定一切都正常工作并且我知道广告不仅会在测试设备上出现,而且在应用程序发布后也会出现之前,我不想将其提交进行审核。提前感谢! :)
request.testDevices = @[ @"70b9ee4e66c8e6fa26cb84def25706d9" ];
另外,我已经在另一个设备上加载了应用程序,但仍然没有广告横幅出现,这让我想知道当我将应用程序提交到App Store时,所有用户都不会在他们的设备上看到广告是很合理的。为什么会发生这种情况?我一直在琢磨这个问题!在我确定一切都正常工作并且我知道广告不仅会在测试设备上出现,而且在应用程序发布后也会出现之前,我不想将其提交进行审核。提前感谢! :)
-(void)adViewDidReceiveAd:(GADBannerView *)bannerView;
-(void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error;
不显示实时广告可能有多种原因。
在我的情况下,我收到了错误消息:{ 'error': 'Request Error: No ad to show.', 'adType':'banner' }
但是,在我交付给客户后,它在客户端显示了。所以,我认为这个问题是由于Google在我的地区没有广告而引起的。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsForMedia</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
否则将只会出现测试广告。您可以在 Firebase 的Admob文档中找到更多相关详细信息。
解决方案很奇怪,但有效:
按照谷歌提供的iOS广告中介设置指南进行操作时,该指南告诉你使用Storyboard/nib实现。一旦我删除了这种方法,只是通过编程方式实现GADBannerView,一切都开始按预期工作了。相当令人不爽的问题,但幸运的是它已经解决了,我可以继续前进。
我曾经遇到过同样的问题。
我的错误在于我已经在AdMob中为我的Android应用程序创建了一个应用程序,这非常好用,但是当我在iOS中创建应用程序时,我所做的一切就是在同一应用程序下创建另一个广告单元。这样做给了我与你看到的相同的结果。
为了解决这个问题,我在AdMob中创建了一个新的面向iOS平台的应用程序,并在其中创建了一个广告单元,这解决了我的问题,现在我在我的应用程序中看到了真正的广告。
如果您的设置中启用了有限广告跟踪,则不会出现此内容。请在您的设备上检查是否未启用“限制广告跟踪”:
设置 -> 隐私 -> 广告
您是否已经在AdMob注册了帐户?如果是,您是否已经用自己的广告单元ID替换了快速入门中包含的测试广告单元ID?如果没有,那么这就可以解释您所看到的行为(示例中的ID仅用于测试广告,不会提供真实广告)。
广告单元ID标识应用程序中的广告位置,并且对您来说是唯一的。生成AdMob广告单元ID的说明在他们的帮助文档中。
如果还有人在寻找解决方案,这里提供一个。
bannerView = GADBannerView();
GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers =
["YOUR DEVICE ID" ]
bannerView.adUnitID = "YOUR ADMOB ID"
bannerView.frame = CGRect(x: 0, y: screenHeight * 0.25, width: screenWidth, height: screenWidth * 0.2) // you can customise this
bannerView.rootViewController = self
let request = GADRequest()
bannerView.load(request)
self.view.addSubview(bannerView);