iOS AdMob 广告除非在测试设备上展示,否则不会展示



我按照谷歌提供的教程:https://developers.google.com/mobile-ads-sdk/docs/admob/ios/quick-start 来设置广告。

我的代码与上面链接中的指南中显示的完全一样,因此当我在测试设备或模拟器上运行该应用程序时,会出现"智能横幅"测试广告"。但是,第二次我删除下面的代码行时,根本没有出现横幅。.

 request.testDevices = @[ @"70b9ee4e66c8e6fa26cb84def25706d9" ];

此外,我已经在另一台设备上加载了该应用程序,但仍然没有出现广告横幅,这让我想知道当我将应用程序提交到 App Store 时,我的所有用户都不会在他们的设备上看到广告才有意义。为什么会这样?我一直在挠头!在我确定一切正常之前,我不想将其提交审核,并且我知道广告不仅会出现在测试设备上,而且会在应用程序上线时出现。提前感谢!:)

-(void)adViewDidReceiveAd:(GADBannerView *)bannerView;
-(void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error;

不展示实时广告的原因可能有很多。

  1. 请检查您的 Google Admob 帐号,了解付款信息。如果未填充,请填充。
  2. 检查您的设备是否已注册为测试设备,否则您可能会被谷歌暂停 30 天左右。
  3. 您可以检查委托方法并打印日志:

就我而言,我收到错误为 { 'error': '请求错误:没有要展示的广告.', 'adType':'banner' }

但在我交付给客户之后,它显示在客户端。所以,我认为这个问题是由于谷歌在我所在的地区没有广告的原因。

如果您使用的是 iOS10,则应将其添加到 .plist 中:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

只有测试广告才会以其他方式显示。您可以在 Firebase 的 Admob 文档中找到有关它的更多详细信息。

奇怪的解决方案,但它有效:

按照 Google 提供的指南在 iOS 中设置广告中介,它会告诉您通过故事板/笔尖对其进行干预。一旦我删除了此方法并简单地以编程方式实现了 GADBannerView,一切都开始按预期工作。相当烦人的问题,但谢天谢地,它已经解决了,我可以继续前进了。

我遇到了同样的问题。

我的错误是我在 AdMob 中为我的 Android 应用程序创建了一个应用程序,效果很好,但是在 iOS 中创建应用程序时,我所做的只是在同一应用程序下创建另一个广告单元。这样做,给了我和你看到的一样的结果。

为了解决这个问题,我在AdMob中创建了一个适用于iOS平台的新应用程序,在其中创建了一个广告单元,它解决了我的问题,我现在在我的应用程序中看到了真实的广告。

如果您的设置中的广告跟踪有限,则不会出现这种情况。在您的设备上,检查是否启用限制广告跟踪:

设置 ->

隐私 -> 广告

您是否在 AdMob 注册了帐号? 如果是这样,您是否将快速入门中包含的测试广告单元 ID 替换为自己的 ID? 如果没有,这可以解释您看到的行为(示例中的 ID 仅适用于测试广告,不会投放真实广告)。

广告单元 ID 用于标识应用中的广告展示位置,并且对您来说是唯一的。 AdMob 的帮助文档中提供了有关生成一个参数的说明。

就我而言,这实际上是由于我没有使用正确的广告单元 ID(斜杠后面的部分)。当我使用谷歌提供的示例 ID 时,我能够找到答案,然后我转到我的 admob 帐户,点击横幅广告,我意识到 plist(或应用委托中的应用程序中的初始设置)和广告单元的两个数字是不同的。我大概花了几个小时:-(

我返回了以下错误:"广告请求成功,但由于缺少广告资源,未返回任何广告。这也可以解释为什么广告不会展示。

您在我相信的谷歌广告帐户中注册了您的帐户。您拥有自己的注册帐户测试 ID。按照确切的过程检查"self.bannerView.adUnitID",并在objectice-c编程中检查代码"self.bannerView.rootViewController = self;",你在代码中遵循的内容。最重要的是检查正确的横幅尺寸,即默认尺寸。祝您取得圆满成功。享受编码..

如果其他人仍在寻找它,这是一个解决方案。

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);

相关内容

  • 没有找到相关文章

最新更新