Как я вижу, вы инициализируете и загружаете рекламу методом onBackPressed()
. Таким образом, каждый раз, когда он не загружается мгновенно. Итак, инициализируйте и загрузите ваше объявление в onCreate()
и в onBackPressed()
проверьте, загружено ли объявление, затем покажите ваше объявление.
Внутри onCreate()
сделать так:
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
...
InterstitialAd mInterstitialAd;
MobileAds.initialize(this, "ca-app-pub-xxxxxxxxxxxxxxxxxxx");
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxxxxxxxx");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
и внутри onBackPressed()
сделать так:
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
finish();
}
});
}else{
super.onBackPressed();
}
Кроме того, для промежуточной рекламы не требуется элемент xml, поэтому удалите AdView из xml.