Ваш код не работает, потому что межстраничное объявление требуется для загрузки. Поэтому 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