如何在应用启动和退出时显示Admob插页式广告

时间:2015-04-17 12:47:56

标签: android admob

我可以在App开始时显示Admob Interstitial,我也可以在App退出时显示Admob非页内广告。但现在,我想在App启动和退出时显示Admob非页内广告。我尝试将两个代码组合在一起,一个用于应用程序启动,一个用于应用程序退出,但结果仅显示应用程序启动时的广告,广告未显示在应用程序退出。

这是我的代码:

    InterstitialAd interstitial;
private static final String AD_UNIT_ID = "ca-app-pub-2869508995487312/2690564381";
private InterstitialAd interstitialAd;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.science_layout);

    interstitialAd = new InterstitialAd(this);

    interstitialAd.setAdUnitId(AD_UNIT_ID);
    AdRequest adRequest = new AdRequest.Builder().build();

    interstitialAd.loadAd(adRequest);

    interstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {

                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                }

        }

        @Override
        public void onAdOpened() {


        }

        @Override
        public void onAdFailedToLoad(int errorCode) {

        }
    });
}
@Override
protected void onPostResume() {
    // TODO Auto-generated method stub
    super.onPostResume();
    displayInterstitial();
}

@Override
protected void onStop() {
    // TODO Auto-generated method stub
    super.onStop();
    displayInterstitial();
}

// Invoke displayInterstitial() when you are ready to display an interstitial.
    public void displayInterstitial() {
      if (interstitialAd.isLoaded()) {
        interstitialAd.show();
      }
    }

任何人都可以帮我修改代码或提供新的解决方案吗?谢谢&最好的问候!

2 个答案:

答案 0 :(得分:3)

谷歌关于插页式广告的指南清楚地表明,不建议在应用加载或退出时展示广告。

https://support.google.com/admob/answer/6066980?hl=en

<强>&GT;应用程序加载或退出(不推荐)

  

避免在应用加载,后退按钮和何时放置插页式广告   作为插页式广告退出应用程序意味着放在两者之间   内容。

来到您的代码,它应该适用于应用程序加载时间。其次,一旦加载并显示广告,您必须再次加载它以再次显示它。要调用它,你应该写&#34; displayInterstitial();&#34;在onPause而不是onStop,只在应用程序的一个活动中。

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

但是,我不认为您应该在应用加载和退出时展示广告,因为它可能会导致您的admob帐户出现问题,并会提高您的应用的卸载率。

答案 1 :(得分:0)

这违反了Admob规则,但是我建议在启动画面后显示广告,作为Google建议Admob Interstitial after app loads