2017-02-28 203 views
1

我正在按鈕中實施Admob插頁式廣告。但是加載廣告需要3-4秒,用戶再次錯誤地點擊按鈕,應用程序就會被粉碎。按下按鈕時如何預加載插頁式廣告或立即加載。這是我的代碼。Admob插頁式廣告預加載

img_ply.setOnClickListener(new View.OnClickListener() { 
 

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

 

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

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

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

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

 

 
\t \t \t \t \t \t } 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t } 
 
\t \t });

回答

1

你應該把間質性負載方法引入的onCreate()函數的觀點,而不是在按鈕的onClick事件! 因此,onClick()事件中只有mInterstitial.show()方法。 您必須加載半成品廣告的onCreate(),只要你需要半成品的廣告就可以..

+0

嗨Mucahid,謝謝。它的工作100%。 –

+0

出現插頁式廣告,繼續進行新的活動,點擊後退按鈕後,我無法再次點擊廣告實施按鈕...任何建議? –

+0

你必須在第一個活動實現onResume()方法,並把代碼inters.load和設置事件監聽器也..你可以看看更多的解決方案.. http://stackoverflow.com/questions/5545217/back-button-和清爽,以前的活動 –