2016-11-08 84 views
0

我是Android開發人員的開端。這是我的第一個應用程序。我想知道每次按下按鈕時如何顯示Admob插頁式廣告。我設法顯示插頁式廣告,但僅在第一次按下按鈕時才顯示。不過,我在嘗試加載廣告時遇到了錯誤。這裏是我的代碼:如何在每次顯示Admob插頁式廣告時按下按鈕

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

感謝您的幫助提前。 :)你不

+1

你會得到什麼錯誤? – hering

回答

0

必須每次調用這個函數mInterstitial.loadAd(request);

,或者如果你想將它稱之爲像

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

或單擊按鈕每次刪除此mInterstitial.loadAd(request);

+0

我得到的錯誤是「無法解析符號」請求「」。 – user3704212

+0

這是代碼你缺少的顯示廣告 AdRequest adRequest = new AdRequest.Builder()。build(); –

0

只需創建一個功能,隨時隨地調用它,當你需要它:

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

要在模擬器或相反測試設備使用運行:

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

調用該函數:

getAd(getApplicationContext()); 
相關問題