네이티브 광고

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

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

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

1. 인스턴스 생성

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

C#
public class IgawSSPSampleScene : MonoBehaviour{
void Start(){   
	AdPopcornSSPPluginIOS.SSPNativeAdInitWithKey(“YOUR_APP_KEY”, "iOS_NATIVE_PLACEMENT_ID");
	}
}

2. 네이티브 광고 요청

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

C#
AdPopcornSSPPluginIOS.SSPNativeAdLoadRequest();

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

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

네이티브 광고에서 발생하는 이벤트에 대한 델리게이트를 제공 합니다. 아래의 핸들러를 등록해 주어야 델리게이트가 정상 동작합니다.

C#
AdPopcornSSPPluginIOS.SSPNativeAdSetDelegate();

위 API 호출 한 뒤 제공 되는 델리게이트와 구현 예시는 다음과 같습니다.

delegate설명

sspNativeAdLoadSuccess

네이티브 광고 로딩 성공

sspNativeAdLoadFail

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

C#
public class MySampleScene : MonoBehaviour {							
											
    // Use this for initialization								
    void Start () {									
	AdPopcornSSPPluginIOS.AdPopcornSSPSetCallbackHandler("MySampleScene");			
		
        // 델리게이트 핸들러 등록								
	AdPopcornSSPPluginIOS.SSPNativeAdSetDelegate();																
		
        // 델리게이트 등록										
        AdPopcornSSPPluginIOS.sspNativeAdLoadSuccess += HandleSSPNativeAdLoadSuccess;
        AdPopcornSSPPluginIOS.sspNativeAdLoadFail += HandleSSPNativeAdLoadFail;
    }

  // 델리게이트 구현									
    public void HandleSSPNativeAdLoadSuccess(AdPopcornSSPPluginIOS.NativeData nativeData)
    {
        Debug.Log("AdPopcornSSPSample HandleSSPNativeAdLoadSuccess : " + nativeData.Title);
        Debug.Log("AdPopcornSSPSample HandleSSPNativeAdLoadSuccess : " + nativeData.Desc);
        Debug.Log("AdPopcornSSPSample HandleSSPNativeAdLoadSuccess : " + nativeData.IconImageURL);
        Debug.Log("AdPopcornSSPSample HandleSSPNativeAdLoadSuccess : " + nativeData.MainImageURL);
        Debug.Log("AdPopcornSSPSample HandleSSPNativeAdLoadSuccess : " + nativeData.LandingURL);
    }
  public void HandleSSPNativeAdLoadFail(string error)
  {
      Debug.Log("AdPopcornSSPSample HandleSSPNativeAdLoadFail : " + error);
  }								

    void onDestroy(){									
        // 델리게이트 해제										
        AdPopcornSSPPluginIOS.sspNativeAdLoadSuccess -= HandleSSPNativeAdLoadSuccess;
	AdPopcornSSPPluginIOS.sspNativeAdLoadFail -= HandleSSPNativeAdLoadFail;

  }										
}

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

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

C#
AdPopcornSSPPluginIOS.SSPNativeAdReportImpression();

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

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

C#
AdPopcornSSPPluginIOS.SSPNativeAdReportClick();

Last updated