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() を呼び出さないでください。

アクティビティが作成されるたびに広告が読み込まれるため、これが問題の核心です。また、Android フレームワークがメモリを保持するために破棄した後、戻ってくるたびに作成されます。これは、interstitialAd アクティビティが表示されているときなど、アクティビティを離れたときにいつでも発生する可能性があります。また、非常に貧弱な UX を生成します。

代わりに、interstitialAd.isReady() の場合に限り、アプリの自然なブレーク ポイントで interstitalAd.show() を呼び出します。

于 2014-03-12T03:07:22.077 に答える