본문 바로가기

프로그래밍 TIP/모바일 앱 광고

Android 페이스북 삽입(전면) 광고 구현(meta audience network)

 meta 광고 네트워크의 경우 meta(페이스북)로그인 된 사용자에게만 노출되므로 

admob에 비해 수익이 적습니다. 하지만 admob이 정책위반에 걸려서 어쩔 수 없이 이 참에 갈아타봅니다.

배너광고 구현에 이어서 해봅니다. Application를 상속한 클래스의 onCreate에 아래의 코드를 입력합니다.

gradle 등등 sdk 설정은 배너광고 구현 글을 참고하세요.

AudienceNetworkAds.initialize(this);

메타 광고관리자의 앱 노출 위치를 만드시고 해당 Placement Id를 가져옵니다.

사용할 액티비티 or 프레그먼트에 아래와 같이 구현합니다.

interstitialAd = new com.facebook.ads.InterstitialAd(this, "#본인의 삽입(전면)광고 Placement ID");

admob도 같이 사용하시는 분의 경우 클래스 명이 겹쳐서 엉뚱한 클래스를 임포트 하는 문제가 발생하니 아래와 같이 클래스명을 풀로 작성합니다.

com.facebook.ads.InterstitialAd

이제 전면 광고를 노출하기 위한 코드를 작성합니다.

전면(삽입)광고의 경우 보통 화면 이동 사이에 나타내는 것이 일반적입니다.

그래서 저는 액티비티가 변경되는 시점에 전면 광고가 노출되도록 구현해보겠습니다.

아래와 같이 광고 리스너를 구현합니다.

저도 처음 구현해보는 광고지만 대충 느낌이 오지요? 여기서 중요한 부분은 아래의 세 메서드가 되겠습니다

// 사용자가 광고를 닫은 경우
@Override
public void onInterstitialDismissed(Ad ad) 

// 광고 로딩에 실패한 경우
@Override
public void onError(Ad ad, AdError adError) 

// 광고가 로딩된 경우
@Override
public void onAdLoaded(Ad ad) 

여기서 중요한 점은 광고 로딩에 실패한 경우에도 일반적인 절차대로 진행되어야 합니다.

광고가 무조건적으로 로딩된다는 보장도 없고, 광고 로딩에 실패했다고 사용자가 다음 화면으로 이동할 수 없다면 문제가 

되겠죠?

지금까지는 리스너를 구현해보았고 실제 트리거될 코드는 액티비티 이동 사이에 

작성하시면 됩니다.

삽입(전면)광고를 출력되도록 하는 코드

interstitialAd.loadAd(
        interstitialAd.buildLoadAdConfig()
                .withAdListener(interstitialAdListener)
                .build());

아래와 같이 광고가 잘 나오는 것을 볼 수 있습니다.

삽입(전면)광고 화면

혹시 광고가 나오지 않는 경우 testDevice 설정이 안돼서 그럴 수 있으니 배너 광고 구현 글을 참고하세요.

그리고 아래와 같이 광고 관리자에서 노출 횟수 조정하는것도 잊지마세요.

광고관리자 광고 노출 빈도 설정

 

https://verypurple.tistory.com/entry/Android-%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%B6%81-%EB%B0%B0%EB%84%88-%EA%B4%91%EA%B3%A0-%EA%B5%AC%ED%98%84meta-audience-network

 

Android 페이스북 배너 광고 구현(meta audience network)

언젠가 부터 애드몹 정책 위반이 풀리지 않아 답답하네요 10번정도 이것저것 고치고 검토를 받아도 풀리지를 않네요 그래서 그냥 페이스북 광고 SDK를 연동해볼까 합니다. 우선 아래의 페이지로

verypurple.tistory.com

 

부자됩시다.