2015-05-13 68 views
6

我正在尝试实施Admob的智能横幅广告。设备旋转时,我无法找到处理更新广告的方法。根据AdMob的文档,设置adSize属性会导致广告重新加载。这适用于标准横幅广告,但它似乎不适用于智能横幅广告。Admob智能横幅广告未在设备轮换上更新

- (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

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

v7.3.1包括你的问题的修正(见AdMob iOS release notes):

修正在7.2.0中引入了回归,其中智能横幅显示
错误地景观在iOS 8