我在我的应用程序中使用google admob InterstitialAd,但是我遇到了问题。当我为手机安装应用程序时,它运行成功。但是,当我将其安装在平板电脑设备上时,InterstitialAd通话活动就在Destroy上。当我关闭广告时,再次调用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();
}
}
}
最佳答案
请勿在AdListsner#onReceive中调用interstitialAd.show()。
这是问题的核心,因为每次创建活动时都会加载广告。在Android框架销毁它以保留内存后,只要您返回它,它就会被创建。每当您离开活动(例如显示interstitialAd活动)时,都可能发生这种情况。
它还会产生非常差的用户体验。
而是在应用程序的自然断点处调用interstitalAd.show(),但前提是interstitialAd.isReady()。