2016-11-08 5 views
0

Ich bin ein Anfänger, wenn es um Android-Entwicklung geht. Dies ist meine erste Bewerbung. Ich würde gerne wissen, wie man jedes Mal, wenn eine Taste gedrückt wird, eine Admob-Interstitial-Anzeige anzeigt. Ich habe es geschafft, eine Interstitial-Anzeige anzuzeigen, aber nur beim ersten Drücken der Taste. Beim Versuch, die Anzeige zu laden, erhalte ich jedoch einen Fehler. Hier ist mein Code:Wie Admob Interstitial jedes Mal angezeigt wird, wenn eine Taste gedrückt wird

package com.mycash.borgjake.mycash; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

import android.widget.Button; 
import android.widget.TextView; 

import android.view.View; 

import com.google.android.gms.ads.AdListener; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 
import com.google.android.gms.ads.InterstitialAd; 

import static com.mycash.borgjake.mycash.R.styleable.View; 

public class MainActivity extends AppCompatActivity { 

private InterstitialAd mInterstitial; 


Button btnClick; 
Button btnWithdraw; 

TextView txtBalance; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    AdView adView = (AdView)findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest.Builder() 
      .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
      .build(); 
    adView.loadAd(adRequest); 

    btnClick = (Button) findViewById(R.id.button); 

    txtBalance = (TextView) findViewById(R.id.textView); 

    btnClick.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String countValue = txtBalance.getText().toString(); 
      int dblCountValue = Integer.parseInt(countValue); 

      if (mInterstitial.isLoaded()) { 
       mInterstitial.show(); 
      } 

      mInterstitial.loadAd(request); //<---ERROR 

      dblCountValue++; 
      txtBalance.setText(String.valueOf(dblCountValue)); 



     } 
    }); 

    mInterstitial = new InterstitialAd(this); 
    mInterstitial.setAdUnitId("ca-app-pub-2245289628812463/9905502438"); 
    AdRequest request = new AdRequest.Builder() 
      .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
      .build(); 
    mInterstitial.loadAd(request); 

} 

public void onButtonClick(View v) { 
    if(v.getId() == R.id.button2) { 
     Intent i = new Intent(MainActivity.this, Withdraw.class); 
     startActivity(i); 
    } 
    } 
} 

Vielen Dank für die Hilfe im Voraus. :)

+1

Welchen Fehler bekommen Sie? – hering

Antwort

0

Sie nicht mInterstitial.loadAd(request); diese Funktion aufrufen müssen jedes Mal

oder wenn Sie es nennen wollen es nennen, wie die

mInterstitial.loadAd(request); 
    if (mInterstitial.isLoaded()) { 
        mInterstitial.show(); 
    } 

oder diese mInterstitial.loadAd(request); Sie klicken aus jeder Zeit entfernen.

+0

der Fehler, den ich bekomme, ist, kann nicht lösen Symbol "Anfrage" ". – user3704212

+0

Dies ist der Code, der für die Anzeige der Anzeige fehlt AdRequest adRequest = new AdRequest.Builder(). Build(); –

0

Nur eine Funktion erstellen und es überall anrufen, wenn Sie es brauchen:

public static void getAd(Context c) { 

     //================Ad-section 
     // Prepare the Interstitial Ad 
     interstitial = new InterstitialAd(c); 
     // Insert the Ad Unit ID 
     interstitial.setAdUnitId("ca-app-pub-YOUR/ID"); 

     // Request for Ads 
       AdRequest adRequest = new AdRequest.Builder() 
       .build(); 

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

       interstitial.setAdListener(new AdListener() { 
        public void onAdLoaded() { 
         // Call displayInterstitial() function 
         displayInterstitial(); 
        } 
       }); 
      } 
      public static void displayInterstitial() { 
       // If Ads are loaded, show Interstitial else show nothing. 
       if (interstitial.isLoaded()) { 
        interstitial.show(); 
       } 
     //======================= 
    } 

in Emulator oder Testgerät verwenden Statt laufen:

public static void getAd(Context c) { 

      //================Ad-section 
     // Prepare the Interstitial Ad 
     interstitial = new InterstitialAd(c); 
     // Insert the Ad Unit ID 
     interstitial.setAdUnitId("ca-app-pub-YOUR/ID"); 

     AdRequest request = new AdRequest.Builder() 
      .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
      .build(); 
    mInterstitial.loadAd(request); 
} 

Aufruf der Funktion :

getAd(getApplicationContext()); 
Verwandte Themen