2016-11-08 3 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());