2014-05-03 34 views
2

這裏有類似的問題,但沒有一個解決方案正在使用最新的AdMob SDK。至少我不能讓它工作。Admob 6.8.0:手動刪除,隱藏或禁用橫幅

加載:

- (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

什麼不行?你的代碼在哪裏調用這兩個方法? –

+0

第二個不起作用,那就是問題。如何刪除它,使其停止,隱藏等。第一個被稱爲viewDidLoad,橫幅顯示完美。第二個被IBAction調用,當它在應用上顯示需要全屏的東西時,這是行不通的。 – tomDev

+0

你能設置一個斷點並確認你的第二個方法正在調用嗎? GADBannerView是UIView的一個子類,所以它應該適當地作出響應。我已經能夠在Google提供的示例項目中成功刪除橫幅。 –

回答

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]; 

} 

有了這個代碼,你可以打開和關閉的旗幟,只要你想。這對於無法一直顯示橫幅的應用程序很有用。

0

initAd必須在viewDidLoad 我通過它解決。