1

我在我的应用程序中使用 google admob InterstitialAd,但我遇到了问题。当我在手机上安装我的应用程序时,它运行成功。但是当我将它安装到平板设备时,InterstitialAd 调用活动 onDestroy。当我关闭广告时,再次调用 onCreate。这以循环的形式继续。显示广告时如何防止转到 onDestroy?

创建时:

// Create an ad.
interstitialAd = new InterstitialAd(this, "--------");

// Set the AdListener.
interstitialAd.setAdListener(this);
loadAd();

和方法:

private void loadAd(){
    AdRequest adRequest = new AdRequest();
    //adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
    interstitialAd.loadAd(adRequest);
}

@Override
public void onReceiveAd(Ad ad) {
    if (ad == interstitialAd) {
        if (interstitialAd.isReady()) {
            interstitialAd.show();
          }
    }
}
4

1 回答 1

1

不要在AdListsner #onReceive 中调用 interstitialAd.show()。

这是问题的核心,因为每次创建 Activity 时都会加载一个广告。在 Android 框架销毁它以保留内存后,每当您返回它时,都会创建它。这可能在您离开 Activity 时发生,例如显示 interstitialAd Activity 时。它还会产生极差的用户体验。

而是在应用程序的自然断点处调用 interstitialAd.show(),但前提是 interstitialAd.isReady()。

于 2014-03-12T03:07:22.077 回答