我要在一个按钮中实施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广告将准备就绪。