리워드 비디오 광고

리워드를 제공하는 비디오 광고 입니다. 비디오 광고 종료 시 , event callback 으로 설정하신 리워드 정보를 전달 합니다.

1. 인스턴스 생성

아래 코드를 추가하여 리워드비디오 광고 인스턴스를 생성합니다.

C#
public class AdPopcornSSPSampleScene : MonoBehaviour{
private AdPopcornSSPRewardVideorewardVideoAd = null;
	
void Start(){
	rewardVideoAd = new AdPopcornSSPRewardVideo();
}

2. 리워드 비디오 광고 Placement ID 설정

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

C#
rewardVideoAd.setPlacementId(“리워드광고PlacementId”);

3. 리워드 비디오 광고 요청

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

C#
rewardVideoAd.loadAd();

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

4. 리워드 비디오 광고 노출

리워드 광고 노출 시점에 showAd() API를 추가하여 광고를 재생 합니다.

C#
rewardVideoAd.showAd();

5. 리워드 비디오 광고 델리게이트 설정

리워드 비디오 광고 요청 및 노출에 대한/성공, 실패, 완료 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

C#
rewardVideoAd.setRewardVideoAdEventCallbackListener();
delegate설명

OnRewardVideoAdLoaded()

비디오 광고 로딩 성공

OnRewardVideoAdLoadFailed(SSPErrorCode errorCode)

비디오 광고 로딩 실패. 에러코드 값

OnRewardVideoAdOpened()

비디오 광고 노출 성공

OnRewardVideoAdOpenFalied()

비디오 광고 노출 실패

OnRewardVideoAdClosed()

비디오 광고 닫기

OnRewardVideoPlayCompleted(int adNetworkNo, bool isCompleted)

비디오 광고 재생 완료

OnRewardVideoAdClicked()

비디오 광고 클릭(일부 미디에이션 광고는 지원 안함)

C#
//리워드 비디오 델리게이트 등록

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

		rewardVideoAd.setRewardVideoAdEventCallbackListener();
		rewardVideoAd.OnRewardVideoAdLoaded += OnRewardVideoAdLoaded;	
		rewardVideoAd.OnRewardVideoAdLoadFailed += OnRewardVideoAdLoadFailed;	
		rewardVideoAd.OnRewardVideoAdOpened += OnRewardVideoAdOpened;	
		rewardVideoAd.OnRewardVideoAdOpenFalied += OnRewardVideoAdOpenFalied;	
		rewardVideoAd.OnRewardVideoAdClosed + = OnRewardVideoAdClosed;	
		rewardVideoAd.OnRewardVideoPlayCompleted += OnRewardVideoPlayCompleted;
		rewardVideoAd.OnRewardVideoAdClicked += OnRewardVideoAdClicked;	
	}
}

//리워드 비디오 델리게이트 구현
public void OnRewardVideoAdLoaded(object sender, System.EventArgs args) 
{ 
}

public void OnRewardVideoAdLoadFailed(object sender, ErrorResult errorResult) 

}

public void OnRewardVideoAdOpened(object sender, System.EventArgs args) 
{ 
}

public void OnRewardVideoAdOpenFalied(object sender, System.EventArgs args) 
{ 
}

public void OnRewardVideoAdClosed(object sender, System.EventArgs args) 
{ 
}

public void OnRewardVideoPlayCompleted(object sender, RewardInfo rewardInfo) 
{ 
}

public void OnRewardVideoAdClicked(object sender, System.EventArgs args) 
{
}


//리워드 비디오 델리게이트 해제
void OnDestroy(){	
	if(rewardVideoAd!= null)	
	{	
		rewardVideoAd.OnRewardVideoAdLoaded -= OnRewardVideoAdLoaded;	
		rewardVideoAd.OnRewardVideoAdLoadFailed -= OnRewardVideoAdLoadFailed;	
		rewardVideoAd.OnRewardVideoAdOpened -= OnRewardVideoAdOpened;	
		rewardVideoAd.OnRewardVideoAdOpenFalied -= OnRewardVideoAdOpenFalied;	
		rewardVideoAd.OnRewardVideoAdClosed -= OnRewardVideoAdClosed;	
		rewardVideoAd.OnRewardVideoPlayCompleted -= OnRewardVideoPlayCompleted; 
		rewardVideoAd.OnRewardVideoAdClicked -= OnRewardVideoAdClicked;	
	}
}

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