관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[안드로이드] 안드로이드 모바일 페이스북 광고 구현 총정리!! 본문

안드로이드/코틀린 & 아키텍처 & Recent

[안드로이드] 안드로이드 모바일 페이스북 광고 구현 총정리!!

막무가내막내 2021. 3. 10. 21:02
728x90

 

 

[서론]

 

보통 블로그나 모바일 앱 광고에서 가장 많이 쓰이는 광고 플랫폼은 구글의 에드센스(웹), 애드몹(모바일)입니다.

 

다른플랫폼에 비해 광고 질도 좋고 수익도 훨씬 많이 줍니다. 전 무효클릭으로 인해 구글에게 정지 당했고 한번 당한 정지는 어떻게 우회를 해도 구글이 알아내서 죽을때가지 재가입할 수 없습니다. (슬픈 사연이.. ㅠㅠ 정지당했을시 2주동안 너무 슬펐습니다)  지금이면 하루 커피값은 충분히 벌었을 것 같습니다 ㅇㅅㅇ

 

 

쓸데없는 서론이 길었는데,  이번 포스팅에서는 모바일앱에 페이스북 광고를 구현해보려고 합니다. 안드로이드 페이스북 광고 구현이 작성된 포스팅도 거의 없는수준이라 공유목적에도 좋고 다른 광고플랫폼에 좀 복잡해 보여서 하나하나 기록해두면 좋을 것 같습니다.

 

 

[구현]

 

구현에 실패할수도 있지만 일단 차근차근 작성해보겠습니다.

play.google.com/store/apps/details?id=com.mtjin.lol_spellchecker 

 

LOL Summoner Timer Speech recog 롤 음성인식 스펠 체크 타이머 - Google Play 앱

2020.05 음성인식 에러 수정 및 쿨타임 적용 업데이트 되었습니다. 2020.05 Voice recognition version fix and 5%, 10% reduce time update version. 1. 간편함 2. 저용량 3. 쉬운접근성 4. 최신버전 5. 유용함 6. 음성인식 7.

play.google.com

옛날 안드로이드 개발 처음시작했을때 자바로 만든 롤 스펠체크라는 앱에 달아보려고합니다. (이 앱에는 현재 카울리라는 모바일 광고가 달려있습니다)

 

 

 

 

 


www.facebook.com/audiencenetwork/solutions/overview?&utm_campaign=AN_SMB_Search_Google_Acquisition_APAC_KR_KR_NonBrand_Gamma&utm_source=Google&utm_medium=paid_search&utm_term=%EB%AA%A8%EB%B0%94%EC%9D%BC+%EA%B4%91%EA%B3%A0&utm_device=c&gclsrc=aw.ds&gclid=Cj0KCQiA-aGCBhCwARIsAHDl5x8q-Rjt2eXR0amiFJWAxgWBcsK0AYb5vN6sxZBwRq9j9xq2mu_rgbAaAm4SEALw_wcB

 

Facebook Audience Network

Facebook Audience Network를 사용하면 사람 기반 마케팅과 맞춤 네이티브 앱 내 광고 기능을 결합하여 간편하게 모바일 서비스를 수익화할 수 있습니다.

ko-kr.facebook.com

먼저 페이스북 광고를 달기위해 위 사이트에 들어가서 회원가입을 합니다.

 

 


 

수익화 시작하기를 눌러줍니다.

그럼 밑에 창이 뜹니다.

 


 

자산 만들기 클릭

 

 


 

 

 

자산 이름 만들기

 

 


 

전 안드로이드 광고니깐 안드로이드 추가 클릭

 


 

 

앱 상세정보 입력

 

 


결제설정을 해야하는데

 본인만의 고유번호 예를들어 주민등록번호를 입력하세요 !! ㅋㅋ (벌써부터 타 광고플랫폼에 비해 막히는게 생기네요 ㅎㅎ)

참고: 미국 및 유럽 연합(EU) 외 지역의 경우 납세자 번호(기타)를 선택해야 합니다. 운전면허증 번호, 사업자 번호, 주민등록번호 등 개인 또는 회사를 확인할 수 있는 번호를 사용할 수 있습니다.

 

다음을 누르면

 

또SWIFT 번호라는 처음보는 단어가 등장합니다.

이건 다음 사이트에서 찾아볼 수 있었습니다.  은행 고유번호를 의미합니다.

m.blog.naver.com/ze_zeh/221880846144

 

국내 은행별 식별코드(SWIFT CODE)를 알아보자

SWIFT CODE란 은행을 식별하는 코드입니다.수취은행을 식별할 수 있는 은행 코드 중 하나로, 자동...

blog.naver.com

 

 

 

 

 

은행 연결을 한 후 마지막으로 Confirm을 해주고 세팅하면 됩니다.

 


 

 

다음단계는 검수입니다.

72시간 내에 검수해준다고 하네요. 네... 그렇습니다. 

 

 

 

 


 

광고 설정 단계입니다. 여러가지 광고가 있네요.

저는 저 다섯가지중 삽입광고를 해보려고합니다 !!

 

 

 

 


SDK통합 단계입니다.

토큰이랑 ID 값을 받는데 이걸로 이제 광고 코드를 구현하면 되나봅니다.

 

 

 


 

이제 코드로 구현을 해야합니다. 밑 공식문서를 참고합니다. !

[기본사항]

 

developers.facebook.com/docs/audience-network/get-started/android

 

[삽입광고]

developers.facebook.com/docs/audience-network/guides/ad-formats/interstitial/android

 

 

 

1. 가장 먼저 디펜던시 추가해줍니다.

dependencies {
  compile 'com.facebook.android:audience-network-sdk:6.+'
}

 

 

2. Application 클래스 생성 및 세팅 

// Initialize the Audience Network SDK
        AudienceNetworkAds.initialize(this)

클래스 public 이어야함 주의!
manifest 에 추가

추가로 동영상 광고를 위해 manifest에서 hardwareAccelerated 도 true로 해줍니다.

 

 

 

 

2.  광고를 삽입할 액티비티의 OnCreate() 에 다음코드를 추가해줍니다.

 

//페이스북광고 초기화
        InterstitialAd interstitialAd = new InterstitialAd(this, "YOUR_PLACEMENT_ID");

 

 

이때 PLACEMENT_ID는  아래와 같이 내가만든 삽입광고 설정에 들어가서 빨간색 부분을 누르면 나옵니다. 

 

 

 

 

3. 이어서 광고를 구현해줍니다.  다양한 콜백이 존재합니다.

// Create listeners for the Interstitial Ad
        InterstitialAdListener interstitialAdListener = new InterstitialAdListener() {
            @Override
            public void onInterstitialDisplayed(Ad ad) {
                // Interstitial ad displayed callback
                Log.e(TAG, "Interstitial ad displayed.");
            }

            @Override
            public void onInterstitialDismissed(Ad ad) {
                // Interstitial dismissed callback
                Log.e(TAG, "Interstitial ad dismissed.");
            }

            @Override
            public void onError(Ad ad, AdError adError) {
                // Ad error callback
                Log.e(TAG, "Interstitial ad failed to load: " + adError.getErrorMessage());
            }

            @Override
            public void onAdLoaded(Ad ad) {
                // Interstitial ad is loaded and ready to be displayed
                Log.d(TAG, "Interstitial ad is loaded and ready to be displayed!");
                // Show the ad
                interstitialAd.show();
            }

            @Override
            public void onAdClicked(Ad ad) {
                // Ad clicked callback
                Log.d(TAG, "Interstitial ad clicked!");
            }

            @Override
            public void onLoggingImpression(Ad ad) {
                // Ad impression logged callback
                Log.d(TAG, "Interstitial ad impression logged!");
            }
        };

        // For auto play video ads, it's recommended to load the ad
        // at least 30 seconds before it is shown
        interstitialAd.loadAd(
                interstitialAd.buildLoadAdConfig()
                        .withAdListener(interstitialAdListener)
                        .build());

 

 

4. 마지막으로 onDestory() 에서 광고를 헤제해줍니다.

@Override
protected void onDestroy() {
  if (interstitialAd != null) {
    interstitialAd.destroy();
  }
  super.onDestroy();
}

 

 

 

 

이상 끝!

 

 

댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!

 

 

 

 

 

 

 

728x90
Comments