我正在尝试实施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
,然后再次初始化,但这不起作用。
答案 0 :(得分:1)
我在使用AdMob iOS SDK 7.2.2版时遇到了同样的问题。
v7.3.1包含针对您的问题的修复程序(请参阅AdMob iOS release notes):
修正了7.2.0中引入的回归,其中显示了智能横幅 在iOS 8上横向错误。