我正在尝试实现Ad暴民的智能横幅广告。当设备旋转时,我无法找到处理更新广告的方法。根据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
,然后再次初始化它,但这是行不通的。
发布于 2015-06-01 22:47:14
AdMob iOS SDK的7.2.2版本也有同样的问题。
v7.3.1包含了一个解决问题的方法(参见AdMob iOS发行说明):
修正了7.2.0中引入的回归,其中显示智能横幅 在iOS 8上出现了不正确的景观。
https://stackoverflow.com/questions/30221267
复制相似问题