Admob智能横幅广告未在设备轮换时更新

Bob*_*Bob 6 screen-orientation admob ios

我正在尝试实施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));
    }
}
Run Code Online (Sandbox Code Playgroud)

广告的大小与初始化对象时的大小相同.我也尝试将GADBannerView对象设置为nil然后再次初始化,但这不起作用.

小智 1

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

v7.3.1 修复了您的问题(请参阅AdMob iOS 发行说明):

修复了 7.2.0 中引入的回归问题,其中智能横幅
在 iOS 8 上横向显示不正确。