로딩중입니다
애드팝콘 SSP : 유니티 안드로이드
9/8/2017 12:26:20 PM

애드팝콘 SSP 연동하기 : 유니티 안드로이드

본 가이드는 유니티 안드로이드 프로젝트에서 애드팝콘 SSP를 연동하기 위한 문서입니다.

애드팝콘에 대한 서비스 소개나 이용방법 안내는 아래 아티클에서 확인하실 수 있습니다.

[애드팝콘 서비스 안내]


서비스 이용 중 도움이 필요한 경우에는 아래 메일 주소로 연락 부탁 드립니다.

1. 서비스 이용 및 제휴 문의 - 애드팝콘 SSP 사업팀 (ssp_biz@igaworks.com)

2. 기술문의 : 기술지원팀(tech_support@igaworks.com)



SDK 다운로드 및 설치


아래 링크를 통하여 최신 유니티 안드로이드 플러그인 패키지를 다운로드 합니다.

[애드팝콘 SSP 유니티 SDK 다운로드]


다운로드 받은 .zip 파일을 압축해제하여 IgawSSPUnityPlugin_aos_ver~*.unitypackage 파일을

유니티 프로젝트로 드래그하여 설치합니다.



매니페스트 설정


애드팝콘 SSP를 이용하기 위한 내용을 AndroidManifest.xml 파일에 추가합니다.


앱키 & 해시키 추가

Igaworks 홈페이지에서 애드팝콘 앱 등록 후 발급받은 앱키, 해시키를 <application></application> 태그 안에 추가합니다.

<application>
...
    <meta-data android:name="igaworks_app_key" android:value="이곳에_앱키를_입력하세요" />
    <meta-data android:name="igaworks_hash_key" android:value="이곳에_해시키를_입력하세요" />
...
</application>


퍼미션 추가

<manifest></manifest> 태그 안에 필수 퍼미션을 추가합니다.

<manifest>
...
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...
</manifest>


필수코드연동


API를 어플리케이션 실행 후 최초로 로드되는 activity 혹은 SSP 광고를

노출하고자 하는 activity에서 호출하여 SDK를 초기화합니다.

void Start (){
	Debug.Log ("Start");
	IgawSSPPlugin.init();
} 


리소스 해제

destroy API를 이용하여 어플리케이션이 종료될 때 메모리에 할당된 SSP 관련 리소스(View,Memory)를 해제합니다.

앱이 종료될 때 호출되는 activity의 onDestroy()에서 호출합니다.

void OnDestroy(){
	Debug.Log ("OnDestroy");
	IgawSSPPlugin.destroy();
}

+ 델리게이트를 사용하기 위해 등록을 했을 경우 OnDestory()에서 등록된 델리게이트의 해제 작업을 진행해야 합니다.


안드로이드 9.0 HTTP 통신 대응

Android P 부터 일반 텍스트 트래픽(암호화 되지 않은 HTTP)은 기본적으로 차단 됩니다.

애드팝콘 SSP에서 취급하는 광고는 기본적으로 HTTPS를 사용하고 있으나 미디에이션 광고에서는 HTTPS 사용 여부를 확신할 수 없기 때문에 AndroidManifest.xml 파일에 아래 설정을 추가 부탁 드립니다.

<manifest>
   <application android:networkSecurityConfig="@xml/network_security_config"
                   ... >
       ...
   </application>
</manifest>


네트워크 보안 구성 파일 추가

네트워크 보안 구성 기능은 res/xml/network_security_config.xml 파일에 아래 설정을 추가 부탁 드립니다.

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
   <base-config cleartextTrafficPermitted="true" />
</network-security-config>

배너 광고

배너는 SSP의 가장 일반적인 광고 형태로 앱의 하단이나 상단에 노출되는 띠 형태의 광고입니다.


배너 뷰 인스턴스 생성

배너 광고 인스턴스를 생성합니다. 인스턴스 생성시 배너 사이즈와 배너가 위치할 gravity 를 설정합니다.

배너 사이즈 : Banner.BANNER_320x50 / Banner.BANNER_300x250

Gravity : Banner.GRAVITY_TOP / Banner.GRAVITY_BOTTON

public class IgawSSPSampleScene : MonoBehaviour{

	private Banner bannerAd = null;

	void Start(){   
		bannerAd = new Banner(Banner.BANNER_320x50, Banner.GRAVITY_BOTTOM); 
	}
}


배너 PLACEMENT ID 설정

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

bannerAd.setPlacementId("배너광고_PLACEMENT_ID");


배너 광고 요청 사이즈 설정 (Default : 320x50)

배너 사이즈는 두 가지 옵션이 제공됩니다. 아래 사이즈 중 하나를 선택해 주시길 부탁드립니다.

Banner.BANNER_320x50 / Banner.BANNER_300x250

bannerAd.setAdSize("Banner.BANNER_320x50");

배너 광고 갱신 주기 설정 (Default : 60초)

Igaworks 에서 제공하는 배너 광고에 대한 갱신 주기를 설정합니다.

설정 가능 범위는 15~300초 이며 -1 로 설정 시 자동으로 갱신되지 않습니다.

bannerAd.setRefreshTime(50);


배너 광고 애니메이션 

IGAWorks 에서 제공하는 배너 광고는 총 7가지의 애니메이션을 추가할 수 있습니다.

  • BANNER_ANIM_NONE: 배너 애니메이션 없음 (기본)
  • BANNER_ANIM_FADE_IN :  페이드 인 애니메이션
  • BANNER_ANIM_SLIDE_LEFT : 왼쪽으로 슬라이드 애니메이션
  • BANNER_ANIM_SLIDE_RIGHT: 오른쪽으로 슬라이드 애니메이션
  • BANNER_ANIM_TOP_SLIDE : 윗쪽으로 슬라이드 애니메이션
  • BANNER_ANIM_BOTTOM_SLIDE : 아래쪽으로 슬라이드 애니메이션
  • BANNER_ANIM_CIRCLE : 배너 회전 애니메이션
bannerAd.setBannerAnimType (Banner.BANNER_ANIM_SLIDE_LEFT);


배너 광고 델리게이트 설정

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

//배너 델리게이트 등록
if(bannerAd != null){
        bannerAd.setBannerEventCallbackListener();
		bannerAd.OnBannerAdReceiveSuccess += OnBannerAdReceiveSuccess;
		bannerAd.OnBannerAdReceiveFailed += OnBannerAdReceiveFailed;
}

//배너 델리게이트 구현
public void OnBannerAdReceiveSuccess(object sender, System.EventArgs args){
	Debug.Log("OnBannerAdReceiveSuccess event received.");
}
public void OnBannerAdReceiveFailed(object sender, ErrorResult errorResult){
	Debug.Log("OnBannerAdReceiveFailed event received. > errorCode : " +
	errorResult.errorCode + ", errorMessage : " + errorResult.errorMessage);
}

//배너 델리게이트 해제
void OnDestroy(){
	if (bannerAd != null) {
		bannerAd.OnBannerAdReceiveSuccess -= OnBannerAdReceiveSuccess;
		bannerAd.OnBannerAdReceiveFailed -= OnBannerAdReceiveFailed;
		bannerAd.stopBannerAd ();
	}
	IgawSSPlugin.destroy ();
}


배너 뷰 광고 요청 

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

bannerAd.loadAd();

배너 광고 중단 

배너 광고 노출을 더이상 하고 싶지 않은 시점에 호출합니다.

bannerAd.stopAd();


배너 광고 미디에이션 옵션  

IGAWorks 에서 제공하는 Cauly, Mopub, Mezzo Media 에 대한 배너 광고의 옵션을 설정 할 수 있습니다.


Cauly

  • Banner.MediationExtraData.CAULY_DYNAMIC_RELOAD_INTERVAL 
    광고 노출 주기를 카울리측에서 컨트롤 함 (setMediationBooleanExtras API 사용) 기본값 = true
  • Banner.MediationExtraData.CAULY_RELOAD_INTERVAL 
    광고 노출 주기를 매체에서 컨트롤 함
    (setMediationIntExtras API 사용 CAULY_DYNAMIC_RELOAD_INTERVAL이 false 일 경우에만 사용 가능)
    기본 값 = 20s 설정 범위 = 10 ~ 120
  • Banner.MediationExtraData.CAULY_THREAD_PRIORITY 
    스레드 우선순위 설정 (setMediationIntExtras API 사용) 기본값 = 5 설정 범위 = 1 ~ 10


        Mopub

  • Banner.MediationExtraData.MOPUB_AUTO_REFRESH_ENABLED 
    Mopub 광고 자동 갱신 기능 사용 여부 (setMediationBooleanExtras API 사용) 기본 값 = true


       Mezzo Media

  • Banner.MediationExtraData.MEZZO_BACKSTRETCH 
    배너 광고의 백그라운드 영역 설정 방식 (setMediationIntExtras API 사용) 기본 값 = 0 (배경 자동 채우기) , 1 = 투명
  • Banner.MediationExtraData.MEZZO_LOCATION_TYPE 
    배너 광고의 위치 컨트롤 (setMediationIntExtras API 사용) 기본 값 = 0 (Center) , 1 = (Left) , 2 = (Right)
  • Banner.MediationExtraData.MEZZO_MEDIA_TYPE 
    배너 광고 형태 설정 (setMediationIntExtras API 사용) 기본 값
    = 0 (HTML) , 1 = (Image)
bannerAd = new Banner (Banner.BANNER_320x50, Banner.GRAVITY_BOTTOM);
 
bannerAd.setMediationBooleanExtras (Banner.MediationExtraData.CAULY_DYNAMIC_RELOAD_INTERVAL, false);
bannerAd.setMediationIntExtras (Banner.MediationExtraData.CAULY_RELOAD_INTERVAL, 40);
bannerAd.setMediationIntExtras (Banner.MediationExtraData.MEZZO_BACKSTRETCH, 0);
bannerAd.setMediationIntExtras (Banner.MediationExtraData.MEZZO_MEDIA_TYPE, 1);

전면 광고

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


인스턴스 생성

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

public class IgawSSPSampleScene : MonoBehaviour{
	private Interstitial interstitialAd = null;
	
	void Start(){
		interstitialAd = new Interstitial();
	}
}


전면 PLACEMENT ID 설정 

아래 코드를 추가하여 전면광고의 PLACEMENT ID 를 설정합니다.

PLACEMENT ID 는 애드팝콘 SSP 페이지에서 생성이 가능합니다.

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


전면 광고 델리게이트 설정

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

  • OnInterstitialLoaded : 전면광고 로딩 성공
  • OnInterstitialReceiveFailed : 전면광고 로딩 실패 (에러코드는 [APPENDIX : SSP 응답 에러 코드 정의]를 참고)
  • OnInterstitialOpenFailed : 전면광고 노출 실패
  • OnInterstitialClosed : 전면광고 창 종료
  • OnInterstitialOpened : 전면광고 보여짐
//전면 델리게이트 등록
	void Start(){
		if(interstitialAd != null)
{
		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;
		}
		IgawSSPPlugin.destroy ();
	}

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


전면 광고 요청

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

interstitialAd.loadAd();

전면 광고 노출 

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

interstitialAd.showAd();


전면 비디오 광고

구글에서 제공하는 IMA SDK를 기반으로 전면 비디오 광고를 제공하고 있습니다.
전면 지면에서 비디오 광고를 노출하고자 할 경우 , IMA SDK를 필수적으로 추가 해야 합니다.


1) Add IMA SDK

unitypackage 안에 포함되어 있는 Assets/Plugins/Android/IMA_Libs 폴더를 추가 합니다.



2) AndroidManifest.xml

AndroidManifest.xml 파일 <application> 태그 안에 아래 사항을 추가 합니다.

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />


전면 광고 커스텀 옵션

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

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

  • IGAW_AD_BACKGROUND_COLOR 
    전면 광고 배경색 변경 (setCustomStringExtras API 사용) 기본 값 = Black
  • IGAW_AD_CANCELABLE_TIME_MILLIS
    전면 광고 최소 노출 시간 설정 (setCustomIntExtras API 사용) 기본 값 = 0s
  • IGAW_AD_HIDE_CLOSE_BTN 
    전면 광고 우측 상단 닫기 버튼 노출 여부 설정 (setCustomBooleanExtras API 사용) 기본 값 = false
  • IGAW_AD_ENABLE_AUTO_CLOSE 
    전면 광고 pause 상태 진입 시 자동 닫기 기능 추가 (setCustomBooleanExtras API 사용) 기본 값 = false
  • IS_ENDING_AD 
    전면 광고에 종료 메시지 노출 여부 (setCustomBooleanExtras API 사용) 기본 값 = false
  • ENDING_TEXT 
    종료 광고 메시지 변경 (setCustomStringExtras API 사용) 기본 값 = 뒤로가기를 한 번 더 누르시면 종료됩니다.
  • ENDING_TEXT_SIZE 
    종료 광고 메시지 크기 변경 (setCustomIntExtras API 사용) 기본 값 = 11sp
  • ENDING_TEXT_COLOR 
    종료 광고 메시지 색상 변경 (setCustomStringExtras API 사용) 기본 값 = White
  • ENDING_TEXT_GRAVITY 
    종료 광고 메시지 정렬 위치 변경 (setCustomIntExtras API 사용) 기본 값 = 우측 정렬
  • IGAW_AD_ENABLE_SWIPE_CLOSE 
    IGAW 전면 광고 swipe 제스처를 통한 close 가능 옵션 (setCustomBooleanExtras API 사용) 기본 값 = false
  • IGAW_AD_SWIPE_MIN_DISTANCE_DP 
    IGAW 전면 광고 swipe 최소 거리 설정 (setCustomIntExtras API 사용) 기본 값 = 120dp
  • IGAW_AD_CLOSE_BTN_GRAVITY 
    IGAW 전면 광고 닫기 버튼 위치 조정 (setCustomIntExtras API 사용) 기본 값 = Interstitial.Gravity.RIGHT|Interstitial.Gravity.TOP
  • IGAW_AD_CLOSE_BTN_LEFT_MARGIN 
    IGAW 전면 광고 닫기 버튼 좌측 마진 (setCustomIntExtras API 사용) 기본 값 = 0
  • IGAW_AD_CLOSE_BTN_RIGHT_MARGIN 
    IGAW 전면 광고 닫기 버튼 우측 마진 (setCustomIntExtras API 사용) 기본 값 = 20dp
  • IGAW_AD_CLOSE_BTN_TOP_MARGIN 
    IGAW 전면 광고 닫기 버튼 상단 마진 (setCustomIntExtras API 사용) 기본 값 = 20dp
  • IGAW_AD_CLOSE_BTN_BOTTOM_MARGIN 
    IGAW 전면 광고 닫기 버튼 하단 마진 (setCustomIntExtras API 사용) 기본 값 = 0
interstitialAd = new Interstitial ();
interstitialAd.setPlacementId (INTERSTITIAL_PLACEMENT_ID);

  
// 커스텀 옵션 설정

interstitialAd.setCustomBooleanExtras (Interstitial.CustomExtraData.IGAW_AD_HIDE_CLOSE_BTN, true);
interstitialAd.setCustomBooleanExtras (Interstitial.CustomExtraData.IGAW_AD_CANCELABLE_TIME_MILLIS, 2000);
interstitialAd.setCustomStringExtras (Interstitial.CustomExtraData.IGAW_AD_BACKGROUND_COLOR , "ffff0000");
      
// 전면 광고를 엔딩 광고로 사용하고자 하는 경우.

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

// CLOSE BTN 위치 변경

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

CAUTION!!!  ENDING_TEXT_GRAVITY, IGAW_AD_CLOSE_BTN_GRAVITY에

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



리워드 비디오 광고

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


1) Add IMA SDK

unitypackage 안에 포함되어 있는 Assets/Plugins/Android/IMA_Libs 폴더를 추가 합니다.



2) AndroidManifest.xml

AndroidManifest.xml 파일 <application> 태그 안에 아래 사항을 추가 합니다.

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />


리워드 비디오 광고 인스턴스 생성

아래 코드를 추가하여 전면 광고 인스턴스를 생성합니다.

	public class IgawSSPSampleScene : MonoBehaviour{
	private IgawRewardVideo rewardVideoAd = null;
	
	void Start(){
		rewardVideoAd = new IgawRewardVideo ();
	}

리워드 비디오 광고 PLACEMENT ID 설정

아래 코드를 추가하여 리워드 비디오 광고의 PLACEMENT ID를 설정 합니다.

리워드 비디오 광고 PLACEMENT ID는 애드팝콘 SSP 페이지에서 생성 가능 합니다.

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


리워드 비디오 광고 요청

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

rewardVideoAd.loadAd();


리워드 비디오 광고 노출

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

rewardVideoAd.showAd();


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

리워드 광고 요청 및 노출에 대한 성공 , 실패 , 완료 델리게이트를 제공 합니다.

제공되는 델리게이트와 구현 예시는 다음과 같습니다.

rewardVideoAd.setRewardVideoAdEventCallbackListener();


  • OnRewardVideoAdLoaded() : 비디오 광고 로딩 성공
  • OnRewardVideoAdLoadFailed(SSPErrorCode errorCode) : 비디오 광고 로딩 실패
  • OnRewardVideoAdOpened() : 비디오 광고 노출 성공 
  • OnRewardVideoAdOpenFalied() : 비디오 광고 노출 실패
  • OnRewardVideoAdClosed() : 비디오 광고 닫기
  • OnRewardVideoPlayCompleted(long quantity, String currency) : 애드팝콘 SSP 비디오 광고 재생 완료
  • OnMintegralVideoCompleted(object sender, MintegralRewardInfo rewardInfo) : mintegral 광고 종료 시 호출
  • OnUnityAdsVideoCompleted(object sender, System.EventArgs args) : unity ads 광고 종료 시 호출
  • OnAdMobVideoCompleted(object sender, AdMobRewardInfo rewardInfo) : admob  광고 종료 시 호출
//리워드 비디오 델리게이트 등록

void Start(){
	if(rewardVideoAd!= null)
	{
        rewardVideoAd.OnRewardVideoAdLoaded += OnRewardVideoAdLoaded;
	rewardVideoAd.OnRewardVideoAdLoadFailed += OnRewardVideoAdLoadFailed;
	rewardVideoAd.OnRewardVideoAdOpened += OnRewardVideoAdOpened;
   	rewardVideoAd.OnRewardVideoAdOpenFalied += OnRewardVideoAdOpenFalied;
	rewardVideoAd.OnRewardVideoAdClosed + = OnRewardVideoAdClosed;
   	rewardVideoAd.OnRewardVideoPlayCompleted += OnRewardVideoPlayCompleted;
        rewardVideoAd.OnMintegralVideoCompleted += OnMintegralVideoCompleted;
        rewardVideoAd.OnAdMobVideoCompleted += OnAdMobVideoCompleted;
        rewardVideoAd.OnUnityAdsVideoCompleted += OnUnityAdsVideoCompleted;
	}
}

//리워드 비디오 델리게이트 구현
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)
    {
        Debug.Log("OnRewardVideoPlayCompleted event received. > quantity : " + rewardInfo.quantity + ", currency : " + rewardInfo.currency);
    }

public void OnMintegralVideoCompleted(object sender, MintegralRewardInfo rewardInfo)
   {
       Debug.Log("OnMintegralVideoCompleted event received. > rewardAmount : " + rewardInfo.rewardAmount);
   }

public void OnUnityAdsVideoCompleted(object sender, System.EventArgs args)
   {
       Debug.Log("OnUnityAdsVideoCompleted event received");
   }

public void OnAdMobVideoCompleted(object sender, AdMobRewardInfo rewardInfo)
   {
       Debug.Log("OnAdMobVideoCompleted event received. > amount : " + rewardInfo.amount);
   }

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


APPENDIX : SSP 응답 에러 코드 정의

각 광고 별 이벤트 리스너로 전달되는 에러코드의 정의입니다.

코드 메시지 설명
200 Exception 일반 에러
1000 Invalid Parameter 잘못된 파라미터
9999 Unknown Server Error 알려지지 않은 서버 에러
2000 Invalid appKey 잘못된 앱키
2030 Invalid Placement D 잘못된 Placement ID
2100 Empty Campaign 광고 없음
2200 Invalid Third Party Name 외부 네트워크 정보 로드 실패
3200 Native Spot Does Not Initialized 네이티브 설정 초기화 오류
5000 Server Timeout 서버 타임 아웃
5001 Load Ad Failed 특정 네트워크 광고 로드의 실패
5002 No Ad 모든 네트워크 광고 로드의 실패


APPENDIX : SSP 미디에이션

미디에이션 기능을 사용하기 위해 다음 아티클을 참고하여 진행합니다.

[애드팝콘 SSP : 안드로이드 (미디에이션)]