로딩중입니다
애드팝콘 DA : 유니티 iOS
5/11/2017 6:01:50 PM

애드팝콘 DA 연동하기 : 유니티 iOS

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

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

[애드팝콘 서비스 안내]


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

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

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




SDK 다운로드 및 설치


[SDK 다운로드 센터] 에서 최신 유니티 안드로이드 플러그인 패키지를 다운로드 합니다.

다운로드 받은 .zip 파일을 압축해제하여 IgaworksUnityPlugin_iOS~*.unitypackage 파일을 유니티 프로젝트로 드래그하여 설치합니다.

Importing package 팝업창에서 애드팝콘 오퍼월에 필요한 아래 항목만을 선택하여 import 합니다.





코드연동


IDFA 설정

setAppleAdvertisingIdentifier api를 호출하여 SDK에 IDFA 값을 등록합니다.


앱키 & 해시키 설정

IgaworksCoreWithAppkey api를 호출하여 Igaworks 홈페이지에서 애드팝콘 앱 등록 후 발급받은 앱키, 해시키를 설정합니다.

public class MySampleScene : MonoBehaviour {
    // Use this for initialization
    void Start () {
        IgaworksCorePluginIOS.IgaworksCoreWithAppKey("YOUR_APP_KEY", "YOUR_HASH_KEY");
    }
}




배너 광고

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


인스턴스 생성

배너 광고 노출을 위해 DAInitWithBannerViewSize API를 호출하여 인스턴스를 생성합니다. 각 파라미터의 설명과 사용 예시는 다음과 같습니다.

  • size : 배너뷰의 크기
  • origin : 배너뷰의 위치
  • appKey : 발급받은 IGAWorks 앱키
  • spotKey : 애드팝콘 DA 메뉴에서 생성한 배너스팟키
public class IgawDASampleScene : MonoBehaviour{

	private string BANNER_SPOTKEY = "bannerspotkey";

	void Start(){   
		AdPopcornDAPluginIOS.DAInitWithBannerViewSize(AdPopcornDAPluginIOS.DABannerViewSize320x50, 0.0f, 568.0f - 50.0f, “발급받은앱키”, "BANNER_SPOTKEY");
	}
}


배너크기

애드팝콘 DA 배너는 현재 iPhone, iPod Touch의 사이즈(W:320, H:50)만 지원하고 있으며, DABannerViewSize320x50 로 정의되어 있는 상수를 사용하시면 됩니다.


광고제어

배너 광고를 제어하고자 하는 시점에 API를 호출하여 광고를 제어합니다.

// 배너 광고 종료
AdPopcornDAPluginIOS.DACloseBannerView();


미디에이션 전환 주기

DABannerViewSetAdRefreshRate API를 이용하여 미디에이션 기능을 사용할 때 각 네트워크 별로 수신한 광고의 전환 주기를 설정합니다. 최소 30초에서 최대 120초로 설정할 수 있습니다.

별도로 설정하지 않을 경우 기본값(30초)으로 유지됩니다.

AdPopcornDAPluginIOS.DABannerViewSetAdRefreshRate(37);


델리게이트

배너광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

    • daBannerViewDidLoadAd : 배너광고 로드 성공
    • daBannerViewdidFailToReceiveAdWithError : 배너광고 로드 실패 (에러코드는 [APPENDIX : DA 응답 에러 코드 정의]를 참고)
    • daBannerViewWillLeaveApplication : 배너광고 클릭
public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");

		// 델리게이트 핸들러 등록
		AdPopcornDAPluginIOS.DABannerViewSetDelegate();

		// 델리게이트 등록
		AdPopcornDAPluginIOS.daBannerViewDidLoadAd += HandleDABannerViewDidLoadAd;
		AdPopcornDAPluginIOS.daBannerViewDidFailToReceiveAdWithError += HandleDABannerViewDidFailToReceiveAdWithError;
		AdPopcornDAPluginIOS.daBannerViewWillLeaveApplication += HandleDABannerViewWillLeaveApplication;
	}

        // 델리게이트 구현
	public void HandleDABannerViewDidLoadAd()
	{
		Debug.Log ("IgaworksADSample HandleDABannerViewDidLoadAd");
	}
	public void HandleDABannerViewDidFailToReceiveAdWithError(string error)
	{
		Debug.Log ("IgaworksADSample HandleDABannerViewDidFailToReceiveAdWithError : " + error);
	}
	public void HandleDABannerViewWillLeaveApplication()
	{
		Debug.Log ("IgaworksADSample HandleDABannerViewWillLeaveApplication");
	}
}





전면 광고

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


인스턴스 생성

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

public class IgawDASampleScene : MonoBehaviour{

	private string INTERSTITIAL_SPOTKEY = "interstitialspotkey";

	void Start(){   
		AdPopcornDAPluginIOS.DAInterstitialAdInitWithKey(“발급받은앱키”, "INTERSTITIAL_SPOTKEY");
	}
}

+ 전면광고스팟키 : 애드팝콘 DA 관리페이지에서 생성한 전면광고 spotkey


광고노출

DAInterstitialAdPresentFromViewController API를 호출하여 전면광고를 노출합니다.

AdPopcornDAPluginIOS.DAInterstitialAdPresentFromViewController();


델리게이트

전면광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

    • daInterstitialAdDidLoad : 전면광고 로드 성공
    • daInterstitialAdDidFailToReceiveAdWithError : 전면광고 로드 실패 (에러코드는 [APPENDIX : DA 응답 에러 코드 정의]를 참고)
    • daInterstitialAdWillLeaveApplication : 전면광고 클릭
    • daInterstitialAdWillOpen : 전면광고 오픈 직전에 호출
    • daInterstitialAdDidOpen : 전면광고 오픈 직후에 호출
    • daInterstitialAdWillClose : 전면광고 닫기 직전에 호출
    • daInterstitialAdDidClose :  전면광고 닫은 직후에 호출
public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");

		// 델리게이트 핸들러 등록
		AdPopcornDAPluginIOS.DAInterstitialAdSetDelegate();

		// 델리게이트 등록
		AdPopcornDAPluginIOS.daInterstitialAdDidLoad += HandleDAInterstitialAdDidLoad;
		AdPopcornDAPluginIOS.daInterstitialAdDidFailToReceiveAdWithError += HandleDAInterstitialAdDidFailToReceiveAdWithError;
		AdPopcornDAPluginIOS.daInterstitialAdWillLeaveApplication += HandleDAInterstitialAdWillLeaveApplication;
		AdPopcornDAPluginIOS.daInterstitialAdWillOpen += HandleDAInterstitialAdWillOpen;
		AdPopcornDAPluginIOS.daInterstitialAdDidOpen += HandleDAInterstitialAdDidOpen;
		AdPopcornDAPluginIOS.daInterstitialAdWillClose += HandleDAInterstitialAdWillClose;
		AdPopcornDAPluginIOS.daInterstitialAdDidClose += HandleDAInterstitialAdDidClose;
	}

        // 델리게이트 구현
	public void HandleDAInterstitialAdDidLoad()
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidLoad");
	}
	public void HandleDAInterstitialAdDidFailToReceiveAdWithError(string error)
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidFailToReceiveAdWithError : " + error);
	}
	public void HandleDAInterstitialAdWillLeaveApplication()
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdWillLeaveApplication");
	}
	public void HandleDAInterstitialAdWillOpen()
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdWillOpen");
	}
	public void HandleDAInterstitialAdDidOpen()
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidOpen");
	}
	public void HandleDAInterstitialAdWillClose()
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdWillClose");
	}
	public void HandleDAInterstitialAdDidClose()
	{
		Debug.Log ("IgaworksADSample HandleDAInterstitialAdDidClose");
	}
}




팝업 광고

광고가 전체화면을 덮지 않고 여백을 통해 뒤 배경이 보이는 광고 형태입니다.


인스턴스 생성

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

public class IgawDASampleScene : MonoBehaviour{

	private string POPUPAD_SPOTKEY = "popupspotkey";

	void Start(){   
		AdPopcornDAPluginIOS.DAPopupAdInitWithKey(“발급받은앱키”, "POPUPAD_SPOTKEY");
} }

+ 팝업광고스팟키 : 애드팝콘 DA 관리페이지에서 생성한 팝업광고 spotkey


광고노출

DAPopupAdPresentFromViewController API를 호출하여 팝업광고를 노출합니다.

AdPopcornDAPluginIOS.DAPopupAdPresentFromViewController();


팝업 크기

드팝콘 DA 팝업광고는 현재 iPhone, iPod Touch의 사이즈만 지원하고 있습니다.

    • Portrait : 240*360 (w*h)
    • Landscape : 320*213 (w*h)


델리게이트

팝업광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

    • daPopupAdDidLoad : 팝업광고 로드 성공
    • daPopupAdDidFailToReceiveAdWithError : 팝업광고 로드 실패 (에러코드는 [APPENDIX : DA 응답 에러 코드 정의]를 참고)
    • daPopupAdWillLeaveApplication : 팝업광고 클릭
    • daPopupAdWillOpen : 팝업광고 오픈 직전에 호출
    • daPopupAdDidOpen : 팝업광고 오픈 직후에 호출
    • daPopupAdWillClose : 팝업광고 닫기 직전에 호출
    • daPopupAdDidClose : 팝업광고 닫은 직후에 호출
public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");

		// 델리게이트 핸들러 등록
		AdPopcornDAPluginIOS.DAPopupAdSetDelegate();

		// 델리게이트 등록
		AdPopcornDAPluginIOS.daPopupAdDidLoad += HandleDAPopupAdDidLoad;
		AdPopcornDAPluginIOS.daPopupAdDidFailToReceiveAdWithError += HandleDAPopupAdDidFailToReceiveAdWithError;
		AdPopcornDAPluginIOS.daPopupAdWillLeaveApplication += HandleDAPopupAdWillLeaveApplication;
		AdPopcornDAPluginIOS.daPopupAdWillOpen += HandleDAPopupAdWillOpen;
		AdPopcornDAPluginIOS.daPopupAdDidOpen += HandleDAPopupAdDidOpen;
		AdPopcornDAPluginIOS.daPopupAdWillClose += HandleDAPopupAdWillClose;
		AdPopcornDAPluginIOS.daPopupAdDidClose += HandleDAPopupAdDidClose;
	}

        // 델리게이트 구현
	public void HandleDAPopupAdDidLoad()
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdDidLoad");
	}
	public void HandleDAPopupAdDidFailToReceiveAdWithError(string error)
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdDidFailToReceiveAdWithError : " + error);
	}
	public void HandleDAPopupAdWillLeaveApplication()
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdWillLeaveApplication");
	}

	public void HandleDAPopupAdWillOpen()
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdWillOpen");
	}

	public void HandleDAPopupAdDidOpen()
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdDidOpen");
	}

	public void HandleDAPopupAdWillClose()
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdWillClose");
	}

	public void HandleDAPopupAdDidClose()
	{
		Debug.Log ("IgaworksADSample HandleDAPopupAdDidClose");
	}
}




원스팟 광고

원스팟 광고는 사용자가 원하는 시점에 DA, NCPI, VIDEO AD 를 하나의 스팟에서 노출시킬 수 있는 지면입니다.


인스턴스 생성

원스팟 광고 노출을 위해 DAOneSpotAdInitWithKey API 를 사용하여 인스턴스를 생성합니다.

public class IgawDASampleScene : MonoBehaviour{

	private string ONESPOTAD_SPOTKEY = "onespotadspotkey";

	void Start(){   
		AdPopcornDAPluginIOS.DAOneSpotAdInitWithKey(“발급받은앱키”, "ONESPOTAD_SPOTKEY");
} }

+ 원스팟 광고스팟키 : 애드팝콘 DA 관리페이지에서 생성한 원스팟 광고 spotkey


광고노출

DAOneSpotAdPresentFromViewController API를 호출하여 팝업광고를 노출합니다.

AdPopcornDAPluginIOS.DAOneSpotAdPresentFromViewController();


델리게이트

원스팟 광고에서 발생하는 이벤트에 대한 델리게이트를 제공합니다. 제공되는 델리게이트와 구현 예시는 다음과 같습니다.

    • daOneSpotAdDidLoad : 원스팟 광고 로드 성공
    • daOneSpotAdDidFailToReceiveAdWithError : 원스팟 광고 로드 실패 (에러코드는 [APPENDIX : DA 응답 에러 코드 정의]를 참고)
    • daOneSpotAdWillLeaveApplication : 원스팟 광고 클릭
    • daOneSpotAdWillOpen : 원스팟 광고 오픈 직전에 호출
    • daOneSpotAdDidOpen : 원스팟 광고 오픈 직후에 호출
    • daOneSpotAdWillClose : 원스팟 광고 닫기 직전에 호출
    • daOneSpotAdDidClose : 원스팟 광고 닫은 직후에 호출
    • daOneSpotAdCompleteVideoAd : 원스팟 광고에 노출된 비디오 광고의 최초 재생이 완료된 경우 호출
public class MySampleScene : MonoBehaviour {

	// Use this for initialization
	void Start () {
		AdPopcornDAPluginIOS.AdPopcornDASetCallbackHandler("MySampleScene");

		// 델리게이트 핸들러 등록
		AdPopcornDAPluginIOS.DAOneSpotAdSetDelegate();

		// 델리게이트 등록
		AdPopcornDAPluginIOS.daOneSpotAdDidLoad += HandleDAOneSpotAdDidLoad;
		AdPopcornDAPluginIOS.daOneSpotAdDidFailToReceiveAdWithError += HandleDAOneSpotAdDidFailToReceiveAdWithError;
		AdPopcornDAPluginIOS.daOneSpotAdWillLeaveApplication += HandleDAOneSpotAdWillLeaveApplication;
		AdPopcornDAPluginIOS.daOneSpotAdWillOpen += HandleDAOneSpotAdWillOpen;
		AdPopcornDAPluginIOS.daOneSpotAdDidOpen += HandleDAOneSpotAdDidOpen;
		AdPopcornDAPluginIOS.daOneSpotAdWillClose += HandleDAOneSpotAdWillClose;
		AdPopcornDAPluginIOS.daOneSpotAdDidClose += HandleDAOneSpotAdDidClose;
		AdPopcornDAPluginIOS.daOneSpotAdDidCompleteVideoAd += HandleDAOneSpotAdDidCompleteVideoAd;
	}

        // 델리게이트 구현
	public void HandleDAOneSpotAdDidLoad()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdDidLoad");
	}
	public void HandleDAOneSpotAdDidFailToReceiveAdWithError(string error)
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdDidFailToReceiveAdWithError : " + error);
	}
	public void HandleDAOneSpotAdWillLeaveApplication()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdWillLeaveApplication");
	}
	public void HandleDAOneSpotAdWillOpen()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdWillOpen");
	}
	public void HandleDAOneSpotAdDidOpen()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdDidOpen");
	}
	public void HandleDAOneSpotAdWillClose()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdWillClose");
	}
	public void HandleDAOneSpotAdDidClose()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdDidClose");
	}
        public void HandleDAOneSpotAdDidCompleteVideoAd()
	{
		Debug.Log ("IgaworksADSample HandleDAOneSpotAdDidCompleteVideoAd");
	}
}



APPENDIX : DA 응답 에러 코드 정의

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

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