네이티브 광고

네이티브 광고 입니다. 광고의 정보를 직접 받아 화면을 구성하는 형태의 광고입니다. 일반 Android 앱에서의 네이티브와 달리 아래의 내용을 직접 매체측에서 구성 및 호출해 주어야 합니다.

Unity에서의 네이티브 광고의 경우 매체측에서 네이티브 요청 성공 시에 받은 NativeData(총 8가지 정보를 제공)를 가지고 직접 UI에 Display 해주어야 합니다.(Delegate 설정 참고)

Unity에서는 광고 노출 시점과 광고 클릭 시점에 매체측에서 직접 리포트 수집을 위한 API를 호출해 주어야합니다.(reportImpression, reportClick)

1. 인스턴스 생성

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

C#
public class AdPopcornSSPSampleScene : MonoBehaviour{
private AdPopcornSSPNative = null;
	
void Start(){
	nativeAd = new AdPopcornSSPNative();
}

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

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

C#
nativeAd.setPlacementId(“네이티브PlacementId”);

3. 네이티브 광고 요청

원하는 시점에 loadAd()API를 호출하여 서버에 광고를 요청 합니다.

C#
nativeAd.loadAd();

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

4. 네이티브 광고 델리게이트 설정

네이티브 광고 요청에 대한 성공 , 실패 델리게이트를 제공 합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

C#
nativeAd.setNativeEventCallbackListener();
delegate설명

OnNativeAdLoadSuccess(object sender, NativeData nativeData)

네이티브 광고 로딩 성공

OnNativeAdLoadFailed(object sender, ErrorResult errorResult)

네이티브 광고 로딩 실패. 에러코드 값

C#
//네이티브 델리게이트 등록

void Start()
{	
	if(nativeAd!= null)	

		nativeAd.setNativeEventCallbackListener();
		nativeAd.OnNativeAdLoadSuccess += OnNativeAdLoadSuccess;	
		nativeAd.OnNativeAdLoadFailed += OnNativeAdLoadFailed;	
	}
}

//네이티브 델리게이트 구현
public void OnNativeAdLoadSuccess(object sender, NativeData nativeData)
{
    Debug.Log("OnNativeAdLoadSuccess event received");
	// 타이틀 : nativeData.title
	// 설명 : nativeData.desc
	// 아이콘 이미지 URL : nativeData.iconImgURL
	// 메인 이미지 URL : nativeData.mainImgURL
	// 액션 버튼 : nativeData.cta
	// 랜딩 URL : nativeData.landingURL
	// 개인정보 취급 방침 아이콘 URL : nativeData.privacyIconImgURL
	// 개인정보 아이콘 클릭 시, 랜딩 URL : nativeData.privacyPolicyURL
}

public void OnNativeAdLoadFailed(object sender, ErrorResult errorResult)
{
    Debug.Log("OnNativeAdLoadFailed event received. > errorCode : " + errorResult.errorCode + ", erroMessage : " + errorResult.errorMessage);
}


//네이티브 델리게이트 해제
void OnDestroy(){	
	if(nativeAd!= null)	
	{	
		nativeAd.OnNativeAdLoadSuccess -= OnNativeAdLoadSuccess;	
		nativeAd.OnNativeAdLoadFailed -= OnNativeAdLoadFailed;	
	}
}

5. 네이티브 노출 측정(필수)

네이티브 광고 로딩에 성공 후, NativeData를 화면에 노출한 경우, 직접 impression 측정을 위해 reportImpression() API를 반드시 호출해 주어야 합니다.

C#
nativeAd.reportImpression();

6. 네이티브 클릭 측정(필수)

네이티브 광고를 클릭한 경우, NativeData의 landingURL로 랜딩 시킨 후, 리포트 수집을 위해 reportClick() API를 호출해 주어야 합니다.

C#
nativeAd.reportClick();

Last updated