AdMob 中介:iAd 在 iOS 6 上无法正确显示

Posted

技术标签:

【中文标题】AdMob 中介:iAd 在 iOS 6 上无法正确显示【英文标题】:AdMob Mediation: iAds Not Displaying Correctly on iOS 6 【发布时间】:2012-11-09 13:51:30 【问题描述】:

我正在使用 AdMob 的中介在我的 iPhone 应用中显示添加。

在所有版本的 ios 5 上,AdMob 广告和 iAd 始终正确显示。

在 iOS 6 上,AdMob 广告仍然始终正确显示,但在下面,您会看到我在使用 iAds 时遇到的问题。同样,这仅适用于 iOS 6。iAd 显示在 NavBar 后面并被标签栏挡住/截断。

这是我用来设置 GADBannerView 的代码:

    GADBannerView *tempBannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
    self.bannerView = tempBannerView;

    bannerView.adUnitID = @"OUR_ID_HERE";  //Our Mediation ID
    bannerView.rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
    bannerView.delegate = self;
    [self.view addSubview:bannerView];

    GADRequest *request = [GADRequest request];
    request.testing = NO;
    [bannerView loadRequest:request];

点击广告之前

点击后

【问题讨论】:

在这种情况下,您如何添加导航栏?您的层次结构中有导航栏,还是在 UITabBarController 中创建 UINavigationController? 什么 UIViewController 是你窗口的 rootViewController? 除非在过去 48 小时内发布了某些内容,否则我使用的是最新版本的 SDK 和最新版本的 iAd 适配器(不确定这些是什么版本号)。我的导航控制器设置在收藏夹标签显示的 ViewController 中。 我的 UITabBarController 是我窗口的 rootViewController。 【参考方案1】:

虽然我没有找到解决方案,但我决定看看这是否是“我的问题”。我用 Apple 的 ADViewBanner 替换了我的 GADViewBanner,并尝试自己仅实施 iAd 并放弃 AdMob 中介。

实施正确的代理后,AdViewBanner 始终正确显示!换句话说...我将某些问题归咎于中介软件。

如果有人对原始问题有任何修复,请随时发布。否则,我将只使用自己实施的 iAd,而不是尝试使用 AdMob 中介。

【讨论】:

【参考方案2】:

我已经尝试了 2 天来解决这个确切的问题。我同意这是 AdWhirl 的问题,因为 Google AdMob 广告运行良好。

虽然我从未找到“合适”的解决方案,但我确实设计了以下解决方法。当用户点击广告时,游戏可以使用一些 AdWhirl 事件来暂停游戏,我在这些事件中加入了这些事件以在显示广告时隐藏所有适当的资产(一个。虽然 AdWhirl 应该这样做,但出于某种原因我的情况不是这样,而且与发布问题的人不同,我想使用广告中介,所以解决方法是对我来说最好的解决方案。

- (void)adWhirlWillPresentFullScreenModal 
    [((MyAppDelegate *)[[UIApplication sharedApplication] delegate]).navController setNavigationBarHidden:YES];
    [SwitchViewController.instance.toolbar setHidden:YES];  // SwitchViewController is actually the root view controller also. It contains a custom toolbar.
    [[UIApplication sharedApplication] setStatusBarHidden:YES];

- (void)adWhirlDidDismissFullScreenModal 
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
    [((MyAppDelegate *)[[UIApplication sharedApplication] delegate]).navController setNavigationBarHidden:NO];
    [SwitchViewController.instance.toolbar setHidden:NO];

【讨论】:

以上是关于AdMob 中介:iAd 在 iOS 6 上无法正确显示的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发-植入广告(iAd, Admob实例)

iOS开发中如何使用广告-iAd-Admob-关东升-专题视频课程

Admob 和 facebook 中介 IOS

隐藏/切换 iAd 和 AdMob

隐藏/切换 iAd 和 AdMob

iPhone -iAd、Admob 和本地广告