본문 바로가기

프로그래밍/Android

안드로이드 앱에 애드몹 붙이기

반응형

1. 프로젝트에 GoogleAdMobAdsSdk-4.3.1.jar 파일을 추가한다.

Properties > Java Build Path > Libraries > Add External JARs

(새로운  SDK는 targetSDK를 13으로 해야 함)

2. 메니페스트 파일에 다음과 같이 액티비티를 추가한다.

<activity android:name="com.google.ads.AdActivity"
         
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

3. 메니페스트 파일에 다음과 같이 퍼미션을 추가한다.

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

4. 다음을 참조하여 레이아웃을 꾸민다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
             
android:orientation="vertical"
             
android:layout_width="fill_parent"
             
android:layout_height="fill_parent">
 
<com.google.ads.AdView android:id="@+id/adView"
                         
android:layout_width="wrap_content"
                         
android:layout_height="wrap_content"
                         
ads:adUnitId="MY_AD_UNIT_ID"
                         
ads:adSize="BANNER"
                         
ads:testDevices="TEST_EMULATOR,e78b974e6ab65648b52951e69edcb571"
                         
ads:loadAdOnCreate="true"/>

</LinearLayout>

5. 액티비티의 onCreate()에서 다음과 같이 호출한다.

 AdView adView = (AdView)this.findViewById(R.id.adView);
 adView
.loadAd(new AdRequest());


또는


4. 액티비티에 AdView를 private으로 선언하고, 생성한 후 레이아웃에 뷰를 추가한다.

@Override
 
public void onCreate(Bundle savedInstanceState) {
   
super.onCreate(savedInstanceState);
    setContentView
(R.layout.main);

   
// Create the adView
   
adView
= new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);

   
// Lookup your LinearLayout assuming it’s been given
   
// the attribute android:id="@+id/mainLayout"
   
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

   
// Add the adView to it
   
layout.addView(adView);

   
// Initiate a generic request to load it with an ad
   
adView.loadAd(new AdRequest());
 
}

 
@Override
 
public void onDestroy() {
    adView
.destroy();
   
super.onDestroy();
 
}


※ 배너 크기 : 화면 크기가 작으면 광고가 안보이므로 주의할 것.

Size (WxH)DescriptionAvailabilityAdSize Constant
320x50 Standard banner Phones and Tablets BANNER
300x250 IAB Medium Rectangle Tablets IAB_MRECT
468x60 IAB Full-Size Banner Tablets IAB_BANNER
728x90 IAB Leaderboard Tablets IAB_LEADERBOARD


※ 새로운 광고를 받아 오는 주기는 애드옵 계정에서 설정할 수 있으며 프로그램 내에서 처리하려면 새로운 AdRequest를 생성하고 loadAd()하면 된다.


※ AdRequest 객체는 테스트용 장치를 추가하거나 (테스트 장치는 테스트하려는 장치의 ID를 입력하여야 함.)

AdRequest request = new AdRequest();
request
.addTestDevice(AdRequest.TEST_EMULATOR);
request
.addTestDevice("E83D20734F72FB3108F104ABC0FFC738");

광고 대상을 특정하는데 사용될 수 있다.

AdRequest request = new AdRequest();
request
.setGender(AdRequest.Gender.FEMALE);
request
.setLocation(location);
request
.setBirthday("19850101");


※ AdListener 인터페이스를 구현하면 각각의 상태에 따른 처리를 할 수 있다.

public interface AdListener {
 
public void onReceiveAd(Ad ad);
 
public void onFailedToReceiveAd(Ad ad, AdRequest.ErrorCode error);
 
public void onPresentScreen(Ad ad);
 
public void onDismissScreen(Ad ad);
 
public void onLeaveApplication(Ad ad);
}


http://android.elex.pe.kr/dev-guide/admob

http://code.google.com/mobile/ads/

반응형