2017-07-02 3 views
0

Je voudrais savoir comment afficher une annonce interstitielle Admob chaque fois que vous appuyez sur un bouton. J'ai réussi à afficher une annonce interstitielle, mais uniquement lors de la première pression sur le bouton. Voici mon code:Comment afficher interstitiel Admob chaque fois qu'un bouton est cliqué?

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(); 
    } 

    } 

} 

Merci d'avance.

Répondre

0

Vous devez charger loadIntersitialAd à chaque fois que vous fermez Annonce pour l'affichage suivant, appelez loadIntersitialAd() à l'intérieur de la méthode 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

Assurez-vous de charger l'annonce à chaque fois (mInterstitialAd.loadAd(adRequest)).

Il est également possible que l'annonce ne soit pas encore chargée lorsque vous appuyez sur le bouton, elle n'est donc pas affichée.

0

Vous devez charger l'annonce après chaque affichage. Afin de lui laisser suffisamment de temps pour charger avant d'essayer de l'afficher, il est conseillé de recharger (pas afficher) l'annonce dans le rappel onAdClosed().