新Admob在插页式广告中有严重错误?

时间:2014-06-24 16:11:46

标签: android admob

将admob sdk升级到最新(google play服务)版本时会出现错误。

在传统的Admob中,我的代码正常运行。但是当升级到新版本(谷歌播放服务版本)时出现问题:

  • 在我调用loadAd()之后,Interstial Ad显示确定,但是当我关闭广告时 - >我的应用程序崩溃了。

我花了3天时间研究它但没有结果。它不是我的应用程序问题,因为旧的admob相同的方法,它工作正常。但现在它崩溃了?

我唯一知道的是:当Interstial Ad关闭时,我的活动的oncreate方法再次被召回,所有非静态变量被清除然后我的应用程序崩溃了???

我现在仍然没有解决方案,需要你的帮助。

谢谢!

以下是代码:

                if (GameActivity.interstitial == null) {
                    GameActivity.interstitial = new InterstitialAd((Activity) GameActivity.this);
                    GameActivity.interstitial.setAdUnitId(GameActivity.this.getString(R.string.admob_int_id));
                    GameActivity.interstitial.setAdListener(new AdListener() {
                        public void onAdLoaded() {
                            super.onAdLoaded();
                            GameActivity.showINTAd();
                        }
                    });
                }
                GameActivity.interstitial.loadAd(new AdRequest.Builder().build());



public static void showINTAd() {
    if (GameActivity.interstitial != null) {
        if (GameActivity.interstitial.isLoaded()) {
            GameActivity.interstitial.show();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

关闭插页式广告(活动)时,系统会再次调用您的活动onCreate,因为它正在重新启动您的活动。或者,您的活动可能正在重新启动,因为您的应用正在崩溃。

我发现您的代码有几个问题:

  1. 您不应该使用静态代码和属性。
  2. 您正在从onAdLoaded()调用interstitial#show()。不要这样做。从应用中的自然断点调用show()。