0

ドキュメントによると: https://developers.google.com/mobile-ads-sdk/docs/admob/advanced

一つの活動からお願いしておりますが、

interstitial.loadAd(adRequest);
interstitial.setAdListener(this);

コールバックで受信したときにインタースティシャルを表示します

 @Override
  public void onReceiveAd(Ad ad) {
    Log.d("OK", "Received ad");
    if (ad == interstitial) {
      interstitial.show();
    }
  }

しかし、問題はonReceiveAd呼び出される前です。現在のアクティビティが終了し、別のアクティビティに移動したため、onReceiveAd呼び出されることはありません。

この問題を解決するための回避策はありますか?

ありがとう。

4

1 に答える 1

0

これに対する答えを見つけましたか?これを行う予定ですが、まだ試していないため、うまくいくかどうかはわかりません。

ヘルパー クラスで、インタースティシャル広告を作成するための静的メソッドと、リスナーを更新するための別の静的メソッドを作成します。

    private static InterstitialAd interstitial;

    public static void createIntertitialAd(Context myContext) {
        if (interstitial == null) {
            interstitial = new InterstitialAd(myContext, MY_INTERSTITIAL_UNIT_ID);
            interstitial.loadAd(adRequest);
           interstitial.setAdListener(myContext);
        }
    }

    public static void updateAdListener(Context myContext) {
        interstitial.setAdListener(myContext);
    }

次に、アクティビティで次のことを行います

    @Override
    public void onCreate() {
        HelperClass.createIntertitialAd(this);
        HelperClass.updateAdListener(this);
    }
于 2013-08-13T15:32:58.050 に答える