Admob 6.8.0:手动删除,隐藏或禁用横幅

这里有很多类似的问题,但是没有一个解决scheme正在使用最新的AdMob SDK。 至less我不能让它工作。

加载:

- (void)AdMob_Banner_On { bannerView_.adUnitID = kAdMobID; bannerView_.rootViewController = self; [bannerView_ loadRequest:[GADRequest request]]; (...) } 

他们正在运行完美,现在删除…我发现的所有解决scheme都很简单,但他们不工作:

  - (void)AdMob_Banner_Off { NSLog(@"Admob: Turning Off"); bannerView_.hidden = YES; [bannerView_ removeFromSuperview]; [bannerView_ setDelegate:nil]; bannerView_ = nil; } 

有时候我需要所有的屏幕,我不能一直显示广告。 有任何想法吗?

如果有人有同样的问题,这里是我如何解决它。

问题是我在“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]; } 

有了这个代码,你可以打开和closures横幅,只要你想。 这对于无法始终显示横幅的应用程序很有用。

initAd必须在viewDidLoad解决了。