2015-09-05 27 views
1

您如何使用admob橫幅?你可以看看我的代碼,並顯示它有什麼問題。我有一個有暫停屏幕的遊戲,它有很大的空間放置一個橫幅。Admob android無法從banner INVISIBLE更改爲可見

但是,當我加載它時,橫幅在慢速連接中顯示時間過長。所以我做了加載它,但保持它INVISIBLE,然後讓它在我需要時可見。但這不起作用。橫幅將不可見!請給我任何意見... 下面是代碼:

//Admob request Banner 
bannerAdmob = new AdView(this); 
bannerAdmob.setAdSize(AdSize.WIDE_SKYSCRAPER); 
bannerAdmob.setAdUnitId(Setting.admobBannerId); 
requestAdmobBanner(); 

我用處理器來選擇廣告單元。插頁式廣告很好用,但都不是橫幅廣告。

protected Handler handlerAdmob = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
     switch (msg.what) { 
     case 1: //If is interstitial 
      if (interstitialAdmob.isLoaded()) { 
       interstitialAdmob.show(); 
      } else {       
       requestAdmobInterstitial(); 
      } 
      break; 
     case 2: //If is banner 
      bannerAdmob.setVisibility(View.VISIBLE); 
      break; 
     case 6: //Hide banner 
      bannerAdmob.destroy(); 
      requestAdmobBanner(); //Request new banner 
     } 
    } 
}; 

然後方法加載旗幟

private void requestAdmobBanner() { 
    AdRequest bannerRequest = new AdRequest.Builder() 
    // Add a test device to show Test Ads 
    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
    .addTestDevice(Setting.Device_ID) 
    .build(); 

    // Load the banner ad. 
    bannerAdmob.loadAd(bannerRequest); 

    // Now we add ads listener for Admob banner so we can SHOW and HIDE it 
    bannerAdmob.setAdListener(new AdListener() { 
     @Override 
     public void onAdFailedToLoad(int errorCode) { // On admob interstitial failed to load, request new ad 
      bannerAdmob.setVisibility(View.GONE); 
     } 

     @Override 
     public void onAdLoaded() { 
      bannerAdmob.setVisibility(View.INVISIBLE); 
      System.out.println("Banner Admob is load, but still INVISIBLE"); 
     } 
    }); 
} 

回答

1

要設置AdView的是看不見,當你需要將其設置爲可見。請參見下面的代碼:

+0

是 就像上面我在發言中加載的旗幟,並保持不可見。然後在暫停屏幕中隨時使其可見。你知道admob沒有任何橫幅的預加載方法。即使在連接速度慢的情況下,我也希望立即展示橫幅廣告。 –

+0

不,您在廣告加載時製作無形橫幅廣告。 – William

+0

@William當adview.destory被調用時,setAdListener不起作用,你能幫我嗎? – PriyankaChauhan