Admob 插页式预加载

Admob Interstitial Preloading

我正在一个按钮中实施 Admob 插页式广告。但是加载广告需要 3-4 秒,用户再次错误地点击按钮,应用程序就会崩溃。如何预加载插页式广告或在按下按钮时立即加载。这是我的代码。

img_ply.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub


    mAdView = (AdView) findViewById(R.id.adView);
    mAdView.loadAd(new AdRequest.Builder().build());

    mInterstitial.setAdUnitId(getResources().getString(R.string.admob_intertestial_id));
    mInterstitial.loadAd(new AdRequest.Builder().build());

    mInterstitial.setAdListener(new AdListener() {
     @Override
     public void onAdLoaded() {
      // TODO Auto-generated method stub
      super.onAdLoaded();
      if (mInterstitial.isLoaded()) {
       mInterstitial.show();
       mInterstitial.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
         super.onAdClosed();
         finish();

         Intent inttv = new Intent(SingleChannelActivity.this, TvPlay.class);
         inttv.putExtra("url", ChannelUrl);
         startActivity(inttv);
        }
       });
      }else{
       super.onAdLoaded();


      }
     }
    });
   }
  });

你应该把Interstitial load方法放在视图的onCreate()函数中,而不是放在按钮的onClick事件中! 因此,在 onClick() 事件中将只有 mInterstitial.show() 方法。 您必须在 onCreate() 上加载 inters 广告,inters 广告将在您需要时准备就绪..