2016-11-08 8 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); 
    if (mInterstitial.isLoaded()) { 
        mInterstitial.show(); 
    } 

たり、ボタンをクリックするたびにこのmInterstitial.loadAd(request);を削除するようにそれを呼び出す呼び出したい場合は、この機能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()); 
関連する問題