Admob智能横幅广告在设备旋转时不更新

6

我正在尝试实现Admob的智能横幅广告。但在设备旋转时,我无法找到更新广告的方法。根据AdMob的文档,在设置 adSize 属性后广告将重新加载。这对于标准横幅广告有效,但似乎对智能横幅广告无效。

- (void)viewDidLoad {
    [super viewDidLoad];
    self.gadBannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
    self.gadBannerView.adUnitID = @"myBannerID";
    self.gadBannerView.rootViewController = self;
    [self.gadBannerView loadRequest:[GADRequest request]];
    [self.view addSubview:self.gadBannerView];
}

- (void)viewDidLayoutSubviews {
    if (self.view.bounds.size.width < self.view.bounds.size.height) {
        // portrait orientation
        self.gadBannerView.adSize = kGADAdSizeSmartBannerPortrait;
        NSLog(@"portrait banner size: %@",NSStringFromCGRect(self.gadBannerView.frame));
    } else {
        // landscape orientation
        self.gadBannerView.adSize = kGADAdSizeSmartBannerLandscape;
        NSLog(@"landscape banner size: %@",NSStringFromCGRect(self.gadBannerView.frame));
    }
}

广告的大小在对象初始化时保持不变。我还尝试将GADBannerView对象设置为nil,然后再次进行初始化,但这并没有起作用。
1个回答

1

我在使用AdMob iOS SDK的7.2.2版本时遇到了同样的问题。

7.3.1版本包含了解决您问题的修复(请参见AdMob iOS发布说明):

修复了在iOS 8上,智能横幅在横向模式下显示不正确的回归错误,该错误在7.2.0中引入。


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