안녕하세요. 광고를 AdMob으로 처음 붙여보는데 궁금하게 많아 질분드립니다. ^^:


곧 출시를 앞둔 어플에 광고를 붙여보려고 하는데... 경험이 없어서요. 

구글제공 샘플코드를 보고 광고를 올렸는데... 샘플코드 정도만 해도 되는지 잘 모르겠네요.

일단 테스트폰에서 광고는 잘 뜨고 있습니다. ^^:


/*

* AdMob 샘플

*/

import com.google.android.gms.ads.AdListener;

import com.google.android.gms.ads.AdRequest;

import com.google.android.gms.ads.AdSize;

import com.google.android.gms.ads.AdView;


public class Activity_AdMob extends Activity{

public static final String TAG = "";


//테스트 여부 ( true : 에뮬 , false : 디바이스 )

public static Boolean IS_ADMOB_TEST = true;


LinearLayout ll_admob;

public static final String TEST_DEVICE_ID = "AAAAAAAABBBBBBBBCCCCCCCDDDDDDDEE";

private AdView adView;



@Override

protected void onCreate(Bundle savedInstanceState) {

//AdMob광고설정부분

// Create an ad.

   adView = new AdView(this);

   adView.setAdSize(AdSize.BANNER);

   adView.setAdUnitId("ca-app-pub-0101010101010101/0101010101");

   

adView.setAdListener(new AdListener() {

@Override

public void onAdClosed() {

Log.d(TAG, "onAdClosed");

}


@Override

public void onAdFailedToLoad(int error) {

String message = "onAdFailedToLoad: " + getErrorReason(error);

Log.d(TAG, message);

}


@Override

public void onAdLeftApplication() {

Log.d(TAG, "onAdLeftApplication");

}


@Override

public void onAdOpened() {

Log.d(TAG, "onAdOpened");

}


@Override

public void onAdLoaded() {

Log.d(TAG, "onAdLoaded");

if(ll_admob.getVisibility()==View.GONE){

ll_admob.setVisibility(View.VISIBLE);

}

}

});


   // Add the AdView to the view hierarchy. The view will have no size

   // until the ad is loaded.

   ll_admob = (LinearLayout) findViewById(R.id.adFrame);

   ll_admob.addView(adView);

if(IS_ADMOB_TEST) { // 애뮬에서 테스트

AdRequest adRequest = new AdRequest.Builder()

       .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)

       .addTestDevice(TEST_DEVICE_ID)

       .build();


// Start loading the ad in the background.

adView.loadAd(adRequest);

} else {

AdRequest adRequest = new AdRequest.Builder().build();

adView.loadAd(adRequest);

}

}



@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

if (adView != null) {

adView.resume();

}

}

@Override

protected void onPause() {

// TODO Auto-generated method stub

if (adView != null) {

adView.pause();

}

super.onPause();

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

if (adView != null) {

     adView.destroy();

   }

super.onDestroy();

}

}



질문 드립니다.

1. 위 로직대로 하면 어플에서 광고가 문제없이 될까요? 위 로직을 간단하게 요약하면... 광고가 실리는 레이아웃 초기값이 GONE상태에서 광고가 로드되면 VISIBLE 되는것 외에는 구글 샘플코드 그대로입니다. 그리고 제 경우에 데이터를 끈상태에서 실행시키면 광고가 없는 어플처럼 실행이 되는데... 보통 이렇게 처리하는게 맞는건지도 궁금합니다. 


2. 구글링을 해보니 광고를 여러개 놓고 돌리는경우가 있는데 그렇게 하는게 일반적인것인지, 여러개사용해도 큰 유익이 없기때문에 한개만 사용하는게 좋은것인지 궁금합니다. 제 어플은 유틸리티어플로 한국, 일본(구글번역으로 거의 동시지원), 중국(추후번역후 지원) 정도를 대상으로 배포하려고 계획하고 있습니다. 


3. AdMob은 광고요청인 기본값 60초로 되어있는것으로 알고있습니다. 코드상에서 adView.loadAd(adRequest); 딱한번만 실행시켜주면 자동으로 모든 요청처리가 이루어지는건지도 궁금합니다. 앱을 실행후 광고화면은 Pause -> Resume 상태를 반복합니다. 

-_-: 기초적인 질문 죄송합니다. 광고쪽은 완전 무지해서요. 


3. 좋은 샘플코드가 있다면 공유 부탁드리겠습니다. 광고관련해서는 구글링으로 검색을 해도 거의 구글제공샘플 범주를 벗어나는경우가 없네요. 리스너를 등록하거나 네트워크 및 어플 상태변화에 따른 대응을 해야할거같은데... 감이 안오네요. 


이곳에서 많은 도움을 받았는데 직접적인 질문은 처음해보는거 같습니다. ^^:)> (__)꾸벅~