다들 광고는 잘 넣고 계시나요.

다 아시는 내용일수도 있지만.. 혹시 모르시는 분을 위해.. 한번 남겨봅니다.



광고 사용법은 광고사마다 다 다릅니다..

하지만 노출률이 떨어지거나, 광고가 없는경우 광고가 안보이게 된다면 정말 낭패죠..


그래서 여러개의 광고사의 광고를 하나씩 번갈아 가면서..  보여주면 어떨까? 생각이 들었습니다.

대부분 다 비슷하게 하고 계시고요..



간략히 정리하자면 framelayout 에다가 다 집어넣고..  광고가 올때 맨 앞으로 보여줄 수 있도록 하면 됩니다.



애드몹과 ad@m의 예를 들어보겠습니다.


먼저 하나의 FrameLayout에 광고를 구겨 넣습니다.



<FrameLayout android:layout_width="fill_parent" android:id="@+id/frameLayout1" android:layout_height="50dip" android:layout_gravity="center_horizontal">


<com.google.ads.AdView

android:id="@+id/AdMobView" android:layout_width="fill_parent"

android:layout_height="wrap_content" ads:adUnitId="your_id"

ads:adSize="BANNER" ads:loadAdOnCreate="true" />


<net.daum.mobilead.MobileAdView

android:id="@+id/AdamView" 

android:layout_width="320dip"

android:layout_height="50dip" 

android:layout_alignParentBottom="true"

android:layout_gravity="center_horizontal"

android:gravity="bottom|center"/>

</FrameLayout>


그리고 activity에서 불러옵니다.


         //adam ad

        adAm = (MobileAdView) findViewById(R.id.AdamView);

        AdConfig.setClientId("your_id");

AdConfig.setAllowUseOfLocation(true);        

        AdConfig.setTestDevice(null);


        //admob

        adMob = (AdView) findViewById(R.id.AdMobView);



그리고 리스너에서 광고가 올때 보여주도록 합니다.

//ad@m의 경우

@Override

public void didDownloadAd_AdListener() {

Log.d("adam", "didDownloadAd_AdListener");

//광고오면 앞으로

adAm.bringToFront();

}

@Override

public void failedDownloadAd_AdListener(int arg0, String arg1) {

Log.d("adam", "failedDownloadAd_AdListener");

//안오면 애드몹을 앞으로

adMob.bringToFront();

}



Admob도 리스너가 있죠... 거기에 광고 왔을때 앞으로 가져오도록 해주시면 되겠습니다.

그리고 리스너에서 광고가 올때 보여주도록 합니다.


new AdListener() {

@Override

public void onReceiveAd(Ad arg0) {

// 애드몹 앞으로

adMob.bringToFront();

}

@Override

public void onPresentScreen(Ad arg0) {

// TODO Auto-generated method stub

}

@Override

public void onLeaveApplication(Ad arg0) {

// TODO Auto-generated method stub

}

@Override

public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {

// adam 앞으로

adAm.bringToFront();

}

@Override

public void onDismissScreen(Ad arg0) {

// TODO Auto-generated method stub

}

}




모든 광고에 리스너를 다실 필요는 없고.. 메인으로 쓸 광고에만 달아서 컨트롤 잘 하시면 될겁니다.



즐프하세요 ^^;