2015-03-03 106 views
1

我目前在某些應用中包含AdMob,但正面臨一個問題。 我試圖在更改活動時顯示插頁式廣告,因爲這將是不會干擾用戶的地方。切換活動時未顯示AdMob插頁式廣告(Android)

我最初的理解是,顯示廣告會使活動進入暫停模式,並在廣告關閉後重新開始。

這個假設似乎是錯的,如下面的代碼,該活動得到直接切換,麪包可見的廣告應當顯示,但只要我不發表意見startActivity(意向),我從來沒有看到廣告。

我在onCreate中加載廣告,然後嘗試將其顯示在另一個無效的按鈕被點擊時觸發(當然,如果它已完成加載的時間點)。

源代碼:

@Override 
public void onCreate(Bundle SafedInstanceState) 
{ 
    [...] 
    LoadAd(); 
    [...] 
} 

public void ShowAd(){ 
    if (interstitial.isLoaded()) { 
    interstitial.show(); 
    } 
} 

public void LoadAd(){ 
    String MY_AD_UNIT_ID=getResources().getString(R.string.AdID); 
    // Create the interstitial. 
    interstitial = new InterstitialAd(this); 
    interstitial.setAdUnitId(MY_AD_UNIT_ID); 

    // Create ad request. 
    AdRequest adRequest = new AdRequest.Builder().build(); 

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

public void SWITCHACTIVITY (View view) { 
    ShowAd(); 
    Intent intent = new Intent (this, ANOTHERACTIVITY.class); 
    startActivity(intent); 
    finish(); 
} 

高度讚賞上,我做錯了什麼在這裏的任何輸入或我怎麼能做到這一點的廣告被顯示和活動被切換/關閉後,該廣告已被關閉。

在此先感謝!

+0

插頁式廣告不會立即顯示出來。您可以監聽它的方法來檢查廣告是否已加載。但在活動之間投放廣告會改變其糟糕的用戶體驗。 – virendrao 2015-03-03 10:48:14

+0

我知道它不會立即顯示,這就是爲什麼它被加載onCreate,但只有在需要時才顯示。 (在另一個應用程序上正常工作)活動的切換是(在這種情況下)應用程序中的一個非常好的自然休息,因爲在此之後,將爲客戶提供特殊服務。 我對一組具有代表性的用戶做了一些調查,並且看了一下分析,實際上,這是放置它的地方。廣告不會打擾沒有在應用程序中使用此功能的用戶,但使用它的用戶將支持我,也不介意在此處顯示廣告;) – Kai 2015-03-03 10:52:11

+0

最佳做法是從ANOTHERACTIVITY.class加載廣告並在加載時顯示它 – 2015-03-03 11:50:40

回答

3

好的,所以我解決了它。有點難看,但它正在做我想做的事情。 調用ShowAd(),我把我的意圖,然後觸發該廣告的廣告已被關閉後,之前:加載後

public void ShowAd(){ 
     if (interstitial.isLoaded()) { 
      interstitial.show(); 
      interstitial.setAdListener(new AdListener() { 
      public void onAdClosed() { 
       if (PostAdIntent != null) 
       { 
        startActivity(PostAdIntent); 
        PostAdIntent = null; 
        finish(); 
       }; 
      } 
      }); 

     } else 
     { 
      if (PostAdIntent != null) 
       { 
       startActivity(PostAdIntent); 
       PostAdIntent = null; 
       finish(); 
       }; 
     } 
} 
相關問題