차근차근/준비중

안드로이드하단 광고

예쁜꽃이피었으면 2015. 1. 26. 17:48

검색어 : 안드로이드 하단 광고


알림바에 뜨는 광고

http://motivation.tistory.com/592


[안드로이드 샘플코드] 레이아웃의 하단에 고정으로 위젯 넣기 (하단 메뉴 등)

http://globalhost.interdol.com/347






http://www.androidpub.com/2276170    

ChangeAD.zip

안녕하세요. 


전 AdLib 같은  광고 전환 플래폼을 사용하지 않습니다. 

직접 만들어 사용한답니다. 


제가 이런 광고 전환플래폼을 사용하지 않은 이유는 


#1.  내가 원하는 광고를 내 마음대로 넣을 수가 없다. 

      아담의 신버전 SDK 2.0.3 까지는 노출률이 엉망이랍니다.  그래서 전 구버전 사용합니다. 

      새로운 광고 플래폼이 나왔는데,  이런거 지원할 때까지 넣을 수가 없습니다. 


#2.  내가 원하는 광고사 라이브러리만 넣을 수 있기 때문에  크기가 콤팩트 합니다. 


#3. 광고주들은 돈 내고 광고하는데,  광고플랫폼사는 내 APP에 공짜로 광고 합니다.  

     삼성도, AdLib도, 카울리도 그렇더군요.   


아무튼 이런 여러가지 이유로 제가 직접 만들어서 사용합니다. 


물론 직접 만들어서 사용하니까 단점도 있습니다. 


#1. 소스를 이해야 하기 때문에  좀 귀찮습니다. 

#2. Adlib 같은 별도의 보고 기능 없습니다.  각 광고사 광고 리포트만 존재합니다. 

#3. 버그가 있을 수도 있습니다. 소스 공개되었으니 있으면 직접 고치고 좀 알려주세요 ^^

#4. Admob, Ad@m, Inmobi, AdHub, 애드포스트  이외  광고는 직접 코드 추가하셔야 합니다. 

#5. Ad@m은  1.4.0.1 버전을 사용하기 때문에  새버전 사용하시는 분들 수정이 필요합니다.  


제가 사용하는 광고 전환 library의 소스입니다. 

첨부한 소스의 라이센스트 아파치 라이센스2 를 따릅니다. 

유료/무료 APP 아무곳이나 사용하셔도 되구요.  

버그 발견하시면  귀뜸 정도 해주세요. 



* 간단한 사용법 입니다. * 


준비물  : 각 광고사의 광고 ID. 



1.  AndroidManifest.xml  추가 


이 파일에 각 광고 라이브러가 요구하는 permission 과  activity 를 추가 합니다. 

첨부한 소스의 AndroidManifest.xml 파일을 참고하세요. 


2. 광고 출력할 Activity 의 layout.xml 파일에  광고 넣을 위치를 지정합니다.  (main.xml 참조)


1.<RelativeLayout android:id="@+id/ad_layout"
1.android:layout_alignParentBottom="true"
1.android:layout_width="fill_parent"
1.android:layout_height="wrap_content">
1.<!-- This is for AD layout. -->
1.</RelativeLayout>


layout 형식은 상관이 없으며,  android:id 를  @+id/ad_layout  로 넣으셔야 합니다. 

이것을 찾아서 이 layout 아래 광고를 추가 합니다. 



3. AdManager.java 파일에  자신의 광고 ID를 넣어주세요. 


1.private static final String ADMOB_ID = "Your_ADMOB_ID";    // ADMOB 광고 ID를 넣으세요.
1.private static final String ADMOB_INTERSTITIAL_ID = "Your_ADMOB_INTERSTITIAL_ID";  // ADMOB 전면광고 ID를 넣으세요.
1.private static final String ADAM_ID = "Your_ADAM_ID";               // 다음 아담 광고 ID를 넣으세요.
1.private static final String INMOBI_ID = "Your_INMOBI_ID";  // Inmobi 광고 ID를 넣으세요.
1.private static final String SAMSUNG_ID = "Your_SAMSUNG_ID";                 // 삼성 ADHub 광고 ID를 넣으세요.
1.private static final String SAMSUNG_INTERSTITIAL_ID = "Your_SAMSUNG_INTERSTITIAL_ID";     // 삼성 ADHub 전면광고 ID를 넣으세요.
1.private static final String NAVER_ID = "Your_NAVER_ID";  // Naver 광고 ID를 넣으세요.


AdManager.java 파일의  앞부분에 보면, 클래스 변수로 위와 같이 있습니다. 

원하시는 광고사의 ID를 넣어주시면 됩니다. 


원하지 않거나 지원하지 않은 광고 플랫폼은  해당 이름을 찾아서 주석처리 하시면 됩니다. 



4. 만약 서버가 있으시고  서버에서 광고룰을 조정하고 싶으면,   (선택사항입니다. 이것은 수정안해도 동작합니다.)


1.private static final String RULE_SERVER_URL = null// "http://dl.dropbox.com/u/69859030/adconfig.txt";

// 광고 룰이 있는서버 url, 룰 포맷은 아래와 같음. 위에 정의된 광고 이름과 시도할 횟수 나열하면됩니다. 

// 광고 이름이 없는 것은 출력을 제외 합니다. 

// adam:20,admob:20,inmobi:10



RULE_SERVER_URL 변수에 인터넷 으로 접근 가능한 파일을 URL을 넣어주시면 됩니다. 


파일은 txt파일로    


1.adam:20,admob:20,inmobi:10


이런 포맷으로 넣어주시면 됩니다. 


위 이미는  adam을  20번 호출하고,  다음으로 admob을 20번 호출하고,  inmobi를  10번 호출하고, 

다시 adam으로 돌아 가는 조건이며,   

이름이 없는 광고사는 출력을 안 시키는 것이랍니다. 


지정한 숫자 이전에  광고 에러나 나면  다음 광고로 넘어갑니다. 


예들 들어,  adam의  광고가 2번이 fill되고,  3번째 에러가 나면  admob으로 넘어가서 진행합니다. 




5. 광고 호출하는 쪽 active 예제 입니다. 


1.public class ChangeADActivity extends Activity {
1./** Called when the activity is first created. */
1. 
1.private AdManager mAdManager = new AdManager();     // 광고 Manager를 생성합니다.
1. 
1.@Override
1.public void onCreate(Bundle savedInstanceState) {
1.super.onCreate(savedInstanceState);
1.setContentView(R.layout.main);
1. 
1.String curLanguage = this.getResources().getConfiguration().locale.getLanguage();  // 폰의 언어를 가져옵니다.
1.mAdManager.init(this, curLanguage);   //  초기화를 합니다. 폰의 언어에 따라 한국어가 아니면 국내 광고사 배제합니다.
1.}
1. 
1.@Override
1.protected void onDestroy() {
1. 
1.mAdManager.doDestory();   // 광고를 해제 합니다.
1. 
1.super.onDestroy();
1.}
1. 
1.@Override
1.protected void onPause() {
1. 
1.mAdManager.endAdSolution();  // 광고 출력을 중지합니다.
1. 
1.super.onPause();
1.}
1. 
1.@Override
1.protected void onResume() {
1.super.onResume();
1. 
1.mAdManager.startAdSolution();   // 광고 출력을 시작합니다.
1.}
1. 
1. 
1.}




여기까지 하시면 광고가  추가하신 광고사에 따라 전환 되시는 것을 보실 수 있습니다. 





*** 광고 라이브러리 추가할 경우  한 광고사 define 값을 찾으셔서  AdManager.java에  똑같은 위치에 추가해 주시면 된답니다. 



감사합니다. 

반응형

'차근차근 > 준비중' 카테고리의 다른 글

하이브리드 앱 만들기  (0) 2015.02.02
안드로이드 push  (0) 2015.01.26
안드로이드 sns연동  (0) 2015.01.26
안드로이드탭 서브 탭 - 모르겠다  (0) 2015.01.26
안드로이드탭 하단탭  (0) 2015.01.26