我要在一个按钮中实施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();


						}
					}
				});
			}
		});

最佳答案

您应该将插页式加载方法放入视图的onCreate()函数中,而不要放在按钮的onClick事件中!
因此,onClick()事件中将只有mInterstitial.show()方法。
您必须将Inters广告加载到onCreate()上,并且在需要时Inters广告将准备就绪。

10-07 12:41