2017-07-02 100 views
0

我想知道如何在每次按下按鈕時顯示Admob插頁式廣告。我設法顯示插頁式廣告,但僅在第一次按下按鈕時才顯示。這裏是我的代碼:如何在每次單擊按鈕時顯示Admob插頁式廣告?

package hamza.gforx.com.guforx; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 
import com.google.android.gms.ads.InterstitialAd; 
import com.google.android.gms.ads.AdListener; 



    public class MainActivity extends AppCompatActivity { 
    // "ca-app-pub-3940256099942544/1033173712" 
    InterstitialAd mInterstitialAd; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mInterstitialAd = new InterstitialAd(this); 

    // set the ad unit ID 
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712"); 

    AdRequest adRequest = new AdRequest.Builder().build(); 

    // Load ads into Interstitial Ads 
     mInterstitialAd.loadAd(adRequest); 


     mInterstitialAd.setAdListener(new AdListener() { 

     @Override 
     public void onAdClosed() { 
      super.onAdClosed(); 
     } 

     @Override 
     public void onAdFailedToLoad(int i) { 
      super.onAdFailedToLoad(i); 
     } 

     @Override 
     public void onAdLeftApplication() { 
      super.onAdLeftApplication(); 
     } 

     @Override 
     public void onAdOpened() { 
      super.onAdOpened(); 
     } 

     public void onAdLoaded() { 
      if (mInterstitialAd.isLoaded()) { 
      } 
      } 
     }); 
    } 



    public void onButtonClick(View v) { 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 
    if (v.getId() == R.id.Bdisplay) ; 
    { 
     Intent i =new Intent(MainActivity.this, Display.class); 
     startActivity(i); 
    } 

    } 


     public void onButton1(View v1) { 
      if (mInterstitialAd.isLoaded()) { 
       mInterstitialAd.show(); 
      } 
      if (v1.getId() == R.id.Button1) ; 
      { 
      Intent o =new Intent(MainActivity.this, Page.class); 
      startActivity(o); 
      } 

     } 


    public void onButton2(View v2) { 
    if (v2.getId() == R.id.Button2) ; 
    { 
     Intent q =new Intent(MainActivity.this, Page2.class); 
     startActivity(q); 
    } 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 

    } 

} 

在此先感謝。

回答

0

無論何時關閉您的廣告,您需要加載loadIntersitialAd,以便在下一次顯示時調用loadIntersitialAd()方法onAdClosed()方法。

mInterstitialAd.setAdListener(new AdListener() { 

    @Override 
    public void onAdClosed() { 
     loadIntersitialAd(); 
    } 

    @Override 
    public void onAdFailedToLoad(int i) { 

    } 

    @Override 
    public void onAdLeftApplication() { 

    } 

    @Override 
    public void onAdOpened() { 

    } 

    public void onAdLoaded() { 

    } 
    }); 

private void loadIntersitialAd(){ 

    AdRequest interstitialRequest = new AdRequest.Builder().build(); 
    mInterstitialAd.loadAd(interstitialRequest); 
} 
0

確保每次加載廣告(mInterstitialAd.loadAd(adRequest))。

當您點擊按鈕時廣告尚未加載也是可能的,因此不會顯示。

0

您需要在每次顯示廣告後加載廣告。爲了讓它有足夠的時間在試圖展示它之前加載,建議在onAdClosed()回調中重新加載(不顯示)廣告。

相關問題