Game Programming/Game Engine

Unity3D :: AdColony 동영상 광고 삽입

VallistA2015. 7. 3. 14:35

최근 간단한 게임 + 마인크래프트 풍의 게임들이 흥행함에 따라서 그 게임에 수많은 광고들이 붙어지게 되었다.

 

게임에서 이어하기 위해서 동영상을 보는 동영상광고라던지. 루비를 더 주는 동영상 광고라던지 광고가 많이 나오는데 필자도 런칭을 하면서 동영상 광고를 삽입해야해서 삽질을 해보았다.

 

이번 글은 동영상광고 애드몹중 하나인 AdColony를 설명한다.

 

== 다운로드 및 패키지 등록

 

SDK 다운로드 :

https://github.com/AdColony/

 

먼저 위의 사이트로 가서 SDK를 받는다.

물론 AdColony는 Unity SDK를 지원한다. 우리는 Unity SDK라고 붙은 것을 다운받으면 되겠다.

 

 

 

위의 리스트에서 두번째가 AdColony Unity SDK 되시겠다.

 

 

 

안에 들어가면 오른쪽에 Download ZIP이 보인다. 다운로드를 받자.

용량은 73.3 메가정도 된다.

 

폴더를 열어보면 여러가지가 존재하는데 기본적으로 샘플이 주어지기 때문에 샘플을 이용해서 보고 코딩해도 좋다

하지만 사용방법도 이 글에서 설명하도록 하겠다.

 

 

 

압축을 받은 파일을 압축 푼 후 패키지 안에 들어가면 adcolony.unitypackage가 존재한다.

이 것을 자신의 프로젝트에 추가하도록 하자.

 

 

 

요로코놈 나온다. 임폴트 해주도록 하자.

 

== 사용법

 

Plugins 안에 AdColony에 보면 자세히 설명이 나와있다.

필자는 그 설명을 보고 아래처럼 편리하게 클래스를 만들었다.

 

 

이 클래스는 매니저 클래스로 어디서든지 호출이 가능하며, Start에 오브젝트가 삭제되지 않고 남는 옵션을 걸어두면 모든 씬에서 불러올 수 있을 것이다.

 

 

 

위의 사진은 App Id와 Zone String을 입력하는 란이다.

ios와 android는 다를수도 있기 때문에 따로 입력하도록 만들었다.

 

스크립트를 자신이 계속 남겨둘 오브젝트에 드래그 하여 넣고 저기에 앱 아이디를 기입해주면 되겠다.

 

근데 여기서 문제가 있는데 app id와 zone string을 어디서 구하냐가 궁금할 것이다.

 

== 아이디 얻기

 

AdColony 링크

https://clients.adcolony.com/home

(익스플로러 지원안함)

 

여기서 먼저 회원 가입을 한다.

 

그 다음 화면이 나온다.

 

 

여기서 우리는 수익이 얼마나 나왔는가에 대해서 알 수도 있고 개발자에게 메일로 연락을 취할수도 있다.

그 다음 Monetization을 클릭해서 들어가자.

 

 

 

여기서는 현재 자신이 등록해 놓은 어플리케이션과 수익이 얼마나 났는지에대해서 확인 할 수 있고 일당 조회수가 얼마인지도 볼 수 있다.

 

앱을 등록시키려면 Setup New App을 눌러서 등록하도록 하자.

 

 

 

그럼 이러한 화면이 나오게 되는데 여기서 어떤 os인지 확인하고 어플 패키지이름등을 등록 한 후 Create를 누르도록 하자.

 

그럼 아까 화면으로 가지고 추가된 앱을 볼 수 있다.

 

추가된 앱을 클릭해서 들어가면

 

 

 

위와 같은 것을 볼 수 있다.

 

여기서 우리는 현재 등록한 광고의 ID를 볼 수 있다.

AdColony App ID를 복사해서 프로젝트에 등록하도록 하자.

 

그 다음 밑의 Ad Zones가 보인다.

Ad Zones는 Zone String을 등록하는 것이며, 실질적으로 어떤 광고를 띄울건지에 대해서 등록하는 것이다.

하나의 게임이라도 광고가 여러 타입이 들어가는 것을 감안하여 이렇게 만든 듯 하다.

 

Ad Zone을 생성을 해보도록 하자.

 

 

맨 위부터 설명을 하겠다.

 

Zone is active?

 - 존을 사용 할꺼냐?

 

Name Your ad zone

 - ad zone을 구별할 이름 설정

 

Special notes on this zone

 - 그냥 노트다.

 

Zone Type

 - 첫번쨰꺼 설정하는게 속에 편하다.

 

House Ads

 - 잘 모르겠다. 차이점을 알 수가 없다.

 

Option

 - Session Play Cap

 0으로 해놓으면 무한번 재생할 수 있다.

 

 - Play Frequency

 몇번 반응을 시켜야 광고가 나오는가?

 우리의 경우에는 Show 메서드를 얼마나 호출하면 동영상이 호출되는가를 선택한다.

 예를들자면 1이면 한번만 눌러도 되고 5면 5번 호출을 시켜야 동영상이 호출된다.

 물론 5로 해놓고 for문 으로 5번 전송하면 안된다. 왜냐하면 딜레이가 있기 때문이다.

 

Development 

 - Yes = 상업용으로 테스트 영상이 아닌 진짜 영상을 올릴 것이냐?

 - No = 테스트 영상 (5초짜리)

 

이렇게 해서 생성한 후 zone에 들어가면

 

 

그럼 이제 위쪽에 ZoneID가 나오게 된다.

 

ZoneID를 복사해서 붙여넣도록 하자.

 

그렇게 해서 실행을 해보도록 하자

아래는 테스트 코드다.

 

 

 

 

이클립스에서 디버그 찍은 결과.

 

 

 

 

 

버튼 누르기 전 (아래)

버튼 누른 후 (위)

 

댓글

  • 도움좀2017.01.02 21:27 보고 따라하다가 막혀서 질문 드립니다.

    AdColony.Configure
    AdColony.OnVideoStarted
    AdColony.OnVideoFinished
    AdColony.IsVideoAvailable
    AdColony.ShowVideoAd

    에서 애드콜로니에 있는 저 메소드들이 없다고 하는데 어떻게 처리해야 할까요?
  • BlogIcon VallistA2017.01.03 16:03 신고 위의 소스를 보시면 AdColony.OnVideoStarted = OnVideoStarted;
    AdColony.OnVideoFinished = OnVideoFinished;

    void OnVideoStarted()
    {
    Debug.Log("Ad playing.");
    }

    void OnVideoFinished(bool ad_shown)
    {
    Debug.Log("Ad Finished.");
    }

    요런식으로 함수를 넘겨줍니다.

    똑같이 채워주시면 되겠습니다.
    함수를 만들어서요
  • 도움좀2017.01.05 01:20 답변을 이제서야 봤네요.
    감사 드립니다.

    문제 해결을 했는데, SDK 버전을 다른것으로 받으니 문제 없이 잘 되더라구요.
댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 66

Total : 413,759

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘