2016-02-10 2 views
1

У меня есть GameOverActivity в моей игре, и я хочу показать InterstitialAd в его onCreate(). Для этого мне нужно загрузить его где-то еще, потому что он не будет отображаться. Как мне это сделать?Рекламное объявление Admob на конечной точке

protected void onCreate(Bundle savedInstanceState){ 
    //admob 
    mInterstitialAd = new InterstitialAd(this); 
    mInterstitialAd.setAdListener(new AdListener() { 
     @Override 
     public void onAdClosed() { 
      //requestNewInterstitial 
      AdRequest adRequest = new AdRequest.Builder().build(); 
      mInterstitialAd.loadAd(adRequest); 
      onResume(); 
     } 
    }); 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
     onPause(); 
    } 
} 

ответ

1

Ваш код не работает, потому что межстраничное объявление требуется для загрузки. Поэтому Google рекомендует сначала загрузить его и отобразить его позже.

Так что, я думаю, вы должны показать его перед вызовом GameOverActivity (загрузить и отобразить его на предыдущей деятельности ..

Для примера: функция

В течение OnCreate() из предыдущей деятельности, вы запрашиваете объявления (он будет загружен и это займет некоторое время).

затем, перед началом GameOverActivity вы первым показать InterstitialAd. После того, как объявление закрыто, то вы начинаете GameOverActivity.

public class MainActivity { 
    protected void onCreate(Bundle savedInstanceState) { 
     mInterstitialAd = new InterstitialAd(this); 
     mInterstitialAd.setAdUnitId("AD_UNIT_ID"); 
     mInterstitialAd.setAdListener(new AdListener() { 
      @Override 
      public void onAdClosed() { 
       // Start GameOverActivity when the ad is closed 
       Intent intent = new Intent(this, GameOverActivity.class); 
       startActivity(intent); 
      } 
     }); 

     AdRequest adRequest = new AdRequest.Builder().build(); 
     mInterstitialAd.loadAd(adRequest); 
    } 

    // You probably have some function from where you start GameOverActivity 
    private void methodCalledWhenUserLoses() { 
     if (mInterstitialAd.isLoaded()) { 
      // If loaded, show it. GameOverActivity will be started when ad is closed 
      mInterstitialAd.show(); 
     } else { 
      // If ad was not loaded yet, shows show GameOverActivity 
      Intent intent = new Intent(this, GameOverActivity.class); 
      startActivity(intent); 
     } 
    } 

} 

Код, приведенный выше, является примером.

интерстициальный Пример объявления можно найти по адресу:

https://developers.google.com/mobile-ads-sdk/docs/dfp/android/interstitial