전면 광고

전면광고는 화면 전체를 덮는 형태의 광고입니다. 다음을 참고하여 전면광고를 연동합니다.

1. 인스턴스 생성

전면 광고 노출을 위한 인스턴스를 생성합니다.

C#
public class AdPopcornSSPSampleScene : MonoBehaviour{	
	private AdPopcornSSPInterstitialinterstitialAd = null;	

	void Start(){	
		interstitialAd = new AdPopcornSSPInterstitial();	
	}
}

2. 전면 광고Placement ID 설정

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

C#
interstitialAd.setPlacementId("전면광고_PLACEMENT_ID");

3. 전면 광고 델리게이트 설정

전면 광고 로드의 성공/실패/창 종료에 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

delegate
설명

OnInterstitialLoaded

전면 광고 로딩 성공

OnInterstitialReceiveFailed

OnInterstitialOpenFailed

전면 광고 노출 실패

OnInterstitialClosed

전면 광고 창 종료

OnInterstitialOpened

전면 광고 보여짐

C#
//전면 델리게이트 등록	

void Start(){	
	if(interstitialAd != null)
	{	
		interstitialAd.setInterstitialEventCallbackListener();
		interstitialAd.OnInterstitialOpened += OnInterstitialOpened;	
		interstitialAd.OnInterstitialReceiveFailed += OnInterstitialReceiveFailed;	
		interstitialAd.OnInterstitialClosed += OnInterstitialClosed;	
		interstitialAd.OnInterstitialLoaded += OnInterstitialLoaded;	
	}	
}	

//전면 델리게이트 구현	
public void OnInterstitialOpened (object sender, System.EventArgs args)
{  
	Debug.Log ("OnInterstitialOpened event received.");
}
public void OnInterstitialLoaded (object sender, System.EventArgs args)
{  
	Debug.Log ("OnInterstitialLoaded event received.");
}
public void OnInterstitialReceiveFailed (object sender, ErrorResult errorResult)
{  
	Debug.Log ("OnInterstitialReceiveFailed event received. > errorCode : " + errorResult.errorCode + ", 
	errorMessage : " + errorResult.errorMessage);
}
public void OnInterstitialOpenFailed(object sender, ErrorResult errorResult)
{  
	Debug.Log("OnInterstitialOpenFailed event received. > errorCode : " + errorResult.errorCode + ",
	erroMessage : " + errorResult.errorMessage);  
}
public void OnInterstitialClosed (object sender, CloseEvent closeEvent)
{  
	Debug.Log ("OnInterstitialClosed event received. close event : " + closeEvent.type);
}	

//전면 델리게이트 해제	
void OnDestroy()
{	
		if (interstitialAd != null) {	
			interstitialAd.OnInterstitialOpened -= OnInterstitialOpened;	
			interstitialAd.OnInterstitialReceiveFailed -= OnInterstitialReceiveFailed;	
			interstitialAd.OnInterstitialClosed -= OnInterstitialClosed;	
			interstitialAd.OnInterstitialLoaded -= OnInterstitialLoaded;	
		}	
		AdPopcornSSPlugin.destroy ();	
}

void SomeAction(){	
	if(interstitialAd != null)	
		interstitialAd.loadInterstitialAd();
}

4. 전면 광고 요청

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

C#
interstitialAd.loadAd();

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

5. 전면 광고 노출

전면 광고 노출하고자 하는 시점에 showAd() API 를 호출하여 광고를 노출 시킵니다.

C#
interstitialAd.showAd();

6. 전면 광고 커스텀 옵션

전면 광고 노출 시 아래와 같은 커스텀 옵션을 제공합니다. (Interstitial.CustomExtraData 에 정의되어 있는 값 사용)

네이티브 가이드와 달리 옵션의 타입 마다 사용하는 API가 다르니 참고 부탁 드립니다.

1) 옵션 리스트

옵션
설명
사용 API

APSSP_AD_BACKGROUND_COLOR

전면 광고 배경색 변경(default: Black)

setCustomStringExtras API

APSSP_AD_HIDE_CLOSE_BTN

전면 광고 우측 상단 닫기 버튼 노출 여부 설정 (default: false)

setCustomBooleanExtras API

APSSP_AD_ENABLE_AUTO_CLOSE

전면 광고 pause 상태 진입 시 자동 닫기 기능 추가 (default : false)

setCustomBooleanExtras API

IS_ENDING_AD

전면 광고에 종료 메시지 노출 여부 (default: false)

setCustomBooleanExtras API

ENDING_TEXT

종료 광고 메시지 변경 (default: 뒤로가기를 한 번 더 누르시면 종료됩니다.)

setCustomStringExtras API

ENDING_TEXT_SIZE

종료 광고 메시지 크기 변경 (default: 11sp)

setCustomIntExtras API

ENDING_TEXT_COLOR

종료 광고 메시지 색상 변경 (default: White)

setCustomStringExtras API

ENDING_TEXT_GRAVITY

종료 광고 메시지 정렬 위치 변경 (default: 우측정렬)

setCustomIntExtras API

APSSP_AD_ENABLE_SWIPE_CLOSE

APSSPAPSSP 전면 광고 swipe 제스처를 통한 close 가능 옵션 (default: false)

setCustomBooleanExtras API

APSSP_AD_SWIPE_MIN_DISTANCE_DP

APSSP 전면 광고 swipe 최소 거리 설정 (default: 120dp)

setCustomIntExtras API

APSSP_AD_CLOSE_BTN_GRAVITY

APSSP 전면 광고 닫기 버튼 위치 조정 (default: Interstitial.Gravity.RIGHT|Interstitial.Gravity.TOP)

setCustomIntExtras API

APSSP_AD_CLOSE_BTN_LEFT_MARGIN

APSSP 전면 광고 닫기 버튼 좌측 마진 (default: 0)

setCustomIntExtras API

APSSP_AD_CLOSE_BTN_RIGHT_MARGIN

APSSP 전면 광고 닫기 버튼 우측 마진 (default: 20dp)

setCustomIntExtras API

APSSP_AD_CLOSE_BTN_TOP_MARGIN

APSSP 전면 광고 닫기 버튼 상단 마진 (default: 20dp)

setCustomIntExtras API

APSSP_AD_CLOSE_BTN_BOTTOM_MARGIN

APSSP 전면 광고 닫기 버튼 하단 마진 (default: 0)

setCustomIntExtras API

2) 예시 코드

C#
interstitialAd = new AdPopcornSSPInterstitial();
interstitialAd.setPlacementId (INTERSTITIAL_PLACEMENT_ID);

// 커스텀 옵션 설정

interstitialAd.setCustomBooleanExtras (AdPopcornSSPInterstitial.CustomExtraData.APSSP_AD_HIDE_CLOSE_BTN, true);
interstitialAd.setCustomBooleanExtras (AdPopcornSSPInterstitial.CustomExtraData.APSSP_AD_CANCELABLE_TIME_MILLIS, 2000);
interstitialAd.setCustomStringExtras (AdPopcornSSPInterstitial.CustomExtraData.APSSP_AD_BACKGROUND_COLOR , "ffff0000");

// 전면 광고를 엔딩 광고로 사용하고자 하는 경우.

interstitialAd.setCustomBooleanExtras (AdPopcornSSPInterstitial.CustomExtraData.IS_ENDING_AD, true);
interstitialAd.setCustomStringExtras (AdPopcornSSPInterstitial.CustomExtraData.ENDING_TEXT, "TEST ENDING");
interstitialAd.setCustomStringExtras (AdPopcornSSPInterstitial.CustomExtraData.ENDING_TEXT_COLOR, "ffff0000");
interstitialAd.setCustomIntExtras (AdPopcornSSPInterstitial.CustomExtraData.ENDING_TEXT_GRAVITY, Interstitial.Gravity.LEFT);

// CLOSE BTN 위치 변경

interstitialAd.setCustomIntExtras (Interstitial.CustomExtraData. APSSP_AD_CLOSE_BTN_GRAVITY, Interstitial.Gravity.LEFT| Interstitial.Gravity.TOP);

ENDING_TEXT_GRAVITY, IGAW_AD_CLOSE_BTN_GRAVITY에 사용될 수 있는 옵션 값은 Interstitial.Gravity를 참고 부탁 드립니다.

Last updated