这里有很多类似的问题,但没有一个解决方案正在使用最新的AdMob SDK。至少我无法使它发挥作用。
装载:
- (void)AdMob_Banner_On
{
bannerView_.adUnitID = kAdMobID;
bannerView_.rootViewController = self;
[bannerView_ loadRequest:[GADRequest request]];
(...)
}
他们运行得很好,现在正在删除......我找到的所有解决方案都非常简单,但他们不能工作:
- (void)AdMob_Banner_Off {
NSLog(@"Admob: Turning Off");
bannerView_.hidden = YES;
[bannerView_ removeFromSuperview];
[bannerView_ setDelegate:nil];
bannerView_ = nil;
}
有时我需要所有屏幕都可用,我无法一直显示广告。有什么想法吗?
答案 0 :(得分:3)
如果有人遇到同样的问题,请按以下步骤解决。
问题在于我是“AdMob_Banner_On”方法上的行被颠倒了。
虽然横幅完美显示,但它使bannerView_无法响应任何其他命令,因此即使调用了AdMob_Banner_Off,也没有发生任何事情。
现在有效的代码。你要做的第一件事是设置横幅的位置,然后调用它。那是我的问题。这段代码应该可以正常工作:
开启:
- (void)AdMob_Banner_On {
NSLog(@"Admob: Turning On");
// Making it on the bottom:
CGPoint origin = CGPointMake(0.0,self.view.frame.size.height - CGSizeFromGADAdSize(kGADAdSizeSmartBannerPortrait).height);
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait origin:origin];
bannerView_.adUnitID = kAdMobID;
bannerView_.rootViewController = self;
bannerView_.delegate = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
}
- (void)AdMob_Banner_Off: {
NSLog(@"Admob: Turning Off");
[bannerView_ removeFromSuperview];
}
使用此代码,您可以根据需要打开和关闭横幅。这对于无法始终显示横幅广告的应用程序非常有用。
答案 1 :(得分:0)
initAd必须位于viewDidLoad
我解决了。