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

你找到答案了吗?我打算这样做,但我还没有尝试过,所以我不确定它是否会起作用:

在 Helper 类上创建一个用于创建插页式广告的静态方法,以及另一个用于更新侦听器的方法:

    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 回答