想要在应用启动时显示admob interstitial

时间:2014-06-09 16:55:27

标签: android admob

我在我的应用程序中整合了来自admob的插页式广告,这是google play版本。我想在启动应用时展示广告,但它不起作用。我有一个广告出现的代码" onPause"," onResume"等方法。有没有办法在启动应用程序的2秒内显示应用程序启动时的广告。 这是我的插页式广告代码。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    StartAppAd.init(this, "110342272", "204516610");

    setContentView(R.layout.activity_start);

    // Create the interstitial.
    interstitial = new InterstitialAd(this);
    interstitial.setAdUnitId("ca-app-pub-2869508995487312/2690564381");

    // Create ad request.
    AdRequest adRequest = new AdRequest.Builder().build();

    // Begin loading your interstitial.
    interstitial.loadAd(adRequest);
           }
    @Override
protected void onPause() {
display();
super.onStart();
}

public void display() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}

3 个答案:

答案 0 :(得分:12)

以下是我在用户打开应用时加载插页式广告所创建的内容:

      InterstitialAd interstitial;

private static final String AD_UNIT_ID = "YOUR_AD_UNIT_ID";
private InterstitialAd interstitialAd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_start);


    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) {

        }
    });

}

答案 1 :(得分:10)

根据Admob的新政策,在启动和退出应用时不允许使用插页式广告。如果您违反此政策,您的帐户可能会被禁止。因此避免它。请点击以下链接阅读admob政策以获得更多说明。 https://support.google.com/admob/answer/6201362?hl=en

答案 2 :(得分:0)

根据https://support.google.com/admob/answer/6201362?hl=en,您可以在应用启动时展示广告,只要您在显示该应用之前就已将其加载。

插入此成员变量private val doOnce = true

doOnce 将确保您的广告仅在加载广告时展示一次,因为onAdLoaded是回调操作,这样做会导致垃圾邮件广告弹出窗口不断。

mInterstitialAd?.adListener = object : AdListener() {
   override fun onAdClosed() {
      requestNewInterstitial()
   }

   override fun onAdLoaded() {
      super.onAdLoaded()
      if (doneOnce) {
         mInterstitialAd?.show()
         doneOnce = false
       }
   }
}

保存并通过配置更改进行检索

override fun onSaveInstanceState(outState: Bundle?, outPersistentState: PersistableBundle?) {
   super.onSaveInstanceState(outState, outPersistentState)
   outState?.putBoolean(DO_ONCE_KEY, doOnce)
}

override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
   super.onRestoreInstanceState(savedInstanceState)
   if (savedInstanceState != null){
       doOnce = savedInstanceState.getBoolean(DO_ONCE_KEY)
   }
}