2016-11-03 61 views
0

我的疑惑是天氣不好,點擊在開發過程中的實時廣告。我做了所有手續,讓我的admob廣告的工作。然後我看到我們應該只在開發過程中使用測試添加。所以我用這個代碼:Admob廣告在開發過程中

AdRequest request = new AdRequest.Builder() 
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  // All emulators 
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // An example device ID 
.build(); 

它工作正常。但後來我改變我回到現場廣告代碼,擔心我會忘記這樣做以後:

AdView mAdView = (AdView) findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    mAdView.loadAd(adRequest); 

但現在的廣告試運行期間不會出現。這是正常的嗎?

當我最終啓動應用程序時,廣告是否可以工作?

回答

0

我沒有看到你的代碼有什麼問題,但是實現admob時也發生了類似的事情。

我沒有計算出廣告在展示之前必須加載,並且加載可能需要一些時間。如果您嘗試展示未加載的廣告,則可能會顯示黑色活動。

您應該實施一些等待時間或偵聽器,以確保添加之前顯示它已加載。

public InterstitialAd interstitialAd; 
[...] 
public void setNewInterstitialRequest() 
{ 
    interstitialAd = new InterstitialAd(CurrActivity.this); 
    interstitialAd.setAdUnitId("ca-app-pub-***************************"); 

    AdRequest adRequest = new AdRequest.Builder() 
     //.addTestDevice("ZY22247DJV") 
     .build(); 

    // Begin loading your interstitial. 
    interstitialAd.loadAd(adRequest); 

    //add listener so you know is fully loaded 
    interstitialAd.setAdListener(new AdListener() { 
     @Override 
     public void onAdLoaded() { 
      [...] // <- code you want to execute as soon as the ad is loaded 
     } 
    }); 
} 
public void displayAd() { 
    try { 
     //verify is loaded before showing a black screen 
     if (interstitialAd.isLoaded()) { 
      interstitialAd.show(); 
     } 
     //else 
     // showToast("Not loaded"); 
    } 
    catch (Exception ex){} 
} 

所以記住,如果你想爲廣告被inmediately顯示有事時,你應該在此之前,事件發生時加載它採取這樣。