본문 바로가기

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

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

  언젠가 부터 애드몹 정책 위반이 풀리지 않아 답답하네요

10번정도 이것저것 고치고 검토를 받아도 풀리지를 않네요

그래서 그냥 페이스북 광고 SDK를 연동해볼까 합니다.

우선 아래의 페이지로 이동합니다.

https://developers.facebook.com/docs/audience-network/setting-up/platform-setup/android/get-started/

 

Android 시작하기 - Audience Network - 문서 - Meta for Developers

수동 설치(권장하지 않음) Intellij IDEA 또는 Eclipse를 사용할 경우 Android용 Audience Network SDK를 다운로드하고 추출하세요. AudienceNetwork/bin 폴더 아래의 AudienceNetwork.aar 파일을 복사해서 프로젝트의 /libs

developers.facebook.com

아래와 같이 앱 수준 Gradle 파일에 sdk를 추가합니다.

implementation 'com.facebook.android:audience-network-sdk:6.12.0'

아래와 같이 되겠네요

일단 배너 광고부터 구현해보겠습니다.

배너 광고로 사용할 컨테이너를 정의합니다.

<FrameLayout
    android:id="@+id/am_ad_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toBottomOf="@id/act_main_cnts_wrap"
    app:layout_constraintBottom_toTopOf="@+id/am_bv_main"
    />

액티비티 or 프레그먼트에서 구현부를 아래와 같이 코딩합니다. 빨간색 네모 부분은 광고 아이디는 등록된 앱의 광고 아이디를 입력하시면 됩니다.

형식에 맞는 광고 Placement ID
해당 Placement ID 입력

adView = new AdView(this, "IMG_16_9_APP_INSTALL#833755921305105_833755967971767", AdSize.BANNER_HEIGHT_50);
// Find the Ad Container
FrameLayout adContainer = (FrameLayout) findViewById(R.id.am_ad_view);

// Add the ad view to your activity layout
adContainer.addView(adView);

// Request an ad
adView.loadAd();

 

액티비티 or 프레그먼트 종료 시 광고를 제거하는 코드를 입력합니다.

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

자 그럼 광고가 잘 나오는지 확인해볼까요?

아마도 광고가 나오지 않을 겁니다. ㅎㅎㅎ

실제 광고 아이디는 보기 위해서는 현재 개발장비를 테스트 장비로 등록해야 합니다.

그러기 위해서는 장비의 아이디를 알아내야 하는데요. Logcat을 보시면 알 수 있습니다.

test로 검색하시면 찾기 쉽습니다.

그리고 친절하게 코드까지 알려줍니다.

Application 클래스를 상속한 Application의 onCreate 부분에 아래와 같이 입력해줍니다.

그럼 광고가 잘 나오는지 볼까요?

배너광고 사진

광고가 잘 노출되는 것을 볼 수 있습니다.

실제 서비스 시 에는 아래의 코드에서 IMG_16_9_APP_INSTALL# 을 빼고 실제 Placement Id만 남기면 됩니다.

adView = new AdView(this, "IMG_16_9_APP_INSTALL#833755921305105_833755967971767", AdSize.BANNER_HEIGHT_50);