我正在尝试实现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
,然后再次进行初始化,但这并没有起作用。