2017-12-19 5 views
-1

Ich habe ein Layout mit vier Schaltflächen. Wenn der Nutzer auf eine der Schaltflächen klickt, möchte ich Interstitial-Anzeigen schalten.Zeigen Sie Interstitial-Anzeigen, wenn Sie auf eine der vier Schaltflächen klicken.

Mein Code funktioniert, wenn ich auf eine der vier Schaltflächen klicke, aber wenn ich erneut klicke, werden die Interstitial-Anzeigen nicht angezeigt.

Zum Beispiel:

BUTTON1BUTTON2BUTTON3Button4

Als ich zum ersten Mal klicken Sie auf BUTTON1 die interstitielle Anzeigen; Wenn ich erneut auf eine der Schaltflächen klicken möchte (z. B. BUTTON2), werden die Interstitial-Anzeigen überhaupt nicht angezeigt.

Wie kann ich die Interstitial-Anzeigen bei jedem Klicken auf die Schaltfläche anzeigen lassen?

InterstitialAd mInterstitialAd; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity); 
    mInterstitialAd = new InterstitialAd(this); 
    mInterstitialAd.setAdUnitId(getString(R.string.interstitialAd)); 
    mInterstitialAd.loadAd(adRequest); 
    btn1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      mInterstitialAd.setAdListener(new AdListener() { 
       public void onAdLoaded() { 
        if (mInterstitialAd.isLoaded()) { 
         mInterstitialAd.show(); 
        } 
       } 
      }); 
     //button 1 function 
     } 
    }); 
btn2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      mInterstitialAd.setAdListener(new AdListener() { 
       public void onAdLoaded() { 
        if (mInterstitialAd.isLoaded()) { 
         mInterstitialAd.show(); 
        } 
       } 
      }); 
     //button 2 function 
     } 
    }); 
btn3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      mInterstitialAd.setAdListener(new AdListener() { 
       public void onAdLoaded() { 
        if (mInterstitialAd.isLoaded()) { 
         mInterstitialAd.show(); 
        } 
       } 
      }); 
     //button 3 function 
     } 
    }); 
btn4.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      mInterstitialAd.setAdListener(new AdListener() { 
       public void onAdLoaded() { 
        if (mInterstitialAd.isLoaded()) { 
         mInterstitialAd.show(); 
        } 
       } 
      }); 
     //button 4 function 
     } 
    }); 

Antwort

0

Nach einer InterstitialAd Anzeigen, sollten Sie eine neue mit einem neuen AdRequest anfordern:

So ist eine Option, folgende Zeilen hinzu jeden ClickListener (nicht hinzufügen zu diskutieren, wie die Qualität zu verbessern ... nur wie man es beheben):

if (mInterstitialAd.isLoaded()) { 
    mInterstitialAd.show(); 
    mInterstitialAd.loadRequest(new AdRequest.Builder().build()); 
} 

Könnten Sie bitte die Ergebnisse testen und mit anderen teilen (Sie müssen warten, bis ein neuer AD, bevor Sie auf next-Button geladen wird).

Verwandte Themen