네이티브 광고

네이티브 광고는 광고가 게재되는 사용자 환경의 형식 및 기능에 맞춰 자동으로 최적화되어 출력됩니다.

1. 네이티브 광고 인스턴스 생성

아래 코드를 추가하여 네이티브 광고 인스턴스를 생성 합니다.

private AdPopcornSSPNativeAd nativeAd;
     	
@Override
protected void onCreate(Bundle savedInstanceState) {
     // Layout xml 사용할 경우
     nativeAd = (AdPopcornSSPNativeAd) findViewById(R.id.igaw_native_ad);
}

2. 네이티브 광고 Placement ID 설정

아래 코드를 추가하여 네이티브 광고 PLACEMENT ID 를 설정합니다. 네이티브 광고 PLACEMENT ID 는 애드팝콘 SSP 콘솔에서 생성이 가능합니다.

nativeAd.setPlacementId("네이티브_PlacementId");

3. 네이티브 레이아웃 구성

네이티브 레이아웃의 구성은 미디에이션 사용 여부에 따라 달라지게 됩니다. 아래 두 링크를 참고하여서 레이아웃을 구성 부탁 드립니다.

[ 네이티브 광고 레이아웃 구성 가이드]

[ 네이티브 광고 미디에이션 레이아웃 구성 가이드 ]

애드팝콘 SSP v2.4.6 버전부터는 Admob v20.1.0 과 호환성을 유지하기 위해 애드몹, GAM native 레이아웃을 구성하는 일부 class의 경로가 변경되었습니다. 이에 아래 사항 확인 후, 반드시 변경해 주시기 바랍니다.

## Admob, GAM 변경 사항>

com.google.android.gms.ads.formats.UnifiedNativeAdView 
→ com.google.android.gms.ads.nativead.NativeAdView

com.google.android.gms.ads.formats.MediaView 
→ com.google.android.gms.ads.nativead.MediaView

애드팝콘 SSP v3.0.3 버전부터는 Mintegral SDK v15.7.41 과 호환성을 유지하기 위해 Mintegral native 레이아웃을 구성하는 일부 class의 경로가 변경되었습니다. 이에 아래 사항 확인 후, 반드시 변경해 주시기 바랍니다.

## Mintegral 변경 사항>

com.mintegral.msdk.widget.MTGAdChoice 
→ com.mbridge.msdk.widget.MBAdChoice

4. 네이티브 광고 요청

네이티브 광고 영역에 광고를 로드 할 경우, loadAd() API를 추가하여 광고를 요청 합니다. 광고가 정상적으로 수신 시, 아래 layout 형태로 광고가 노출 됩니다. (igaw_native_ad_layout_template.xml 사용 시)

nativeAd.loadAd();

loadAd 호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd 재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.

5. 네이티브 광고 이벤트 리스너

네이티브 광고에서 발생하는 이벤트를 받고자 할 경우 , 이벤트 리스너를 생성하여 전달해 줍니다.

이벤트 리스너를 통해 들어오는 이벤트들을 아래와 같습니다.

이벤트 리스너
설명

onNativeAdLoadSuccess

네이티브 광고 요청 성공 시

onNativeAdLoadFailed

네이티브 광고 요청 실패 시. 에러코드 값

onImpression

네이티브 광고가 화면에 노출되었을 때

onClicked

네이티브 광고를 클릭 했을 때

onAdHidden

네이티브 광고를 닫았을 경우(NAM 미디에이션 광고일 경우에만 발생)

nativeAd.setNativeAdEventCallbackListener (new INativeAdEventCallbackListener () {
    @Override
    public void onNativeAdLoadSuccess () {
    }

    @Override
    public void onNativeAdLoadFailed (SSPErrorCode errorCode) {
    }

    @Override
    public void onImpression() {
    }

    @Override
    public void onClicked() {
    }

    @Override
    public void onAdHidden() {
    }
});

6. 네이티브 광고 종료

네이티브 광고 인스턴스를 더 이상 사용하지 않을 경우 , destroy API를 호출 하여 메모리 정리를 진행 합니다.

nativeAd.destroy();

Last updated