Vungle - Unity 입문

이 가이드는 Vungle Unity 플러그인의 기본 샘플 애플리케이션과의 빠른 통합에 대해 설명합니다. 여기에 언급된 소스 코드는 public GitHub 저장소에서 사용할 수 있습니다.

목차

  1. 시작하기 전에
  2. Vungle Unity 플러그인 설치
  3. 코드 추가!
  4. Vungle 샘플 앱 실행
  5. Windows에서 Xcode 프로젝트를 내보내는 방법

시작하기 전에…

    1. Vungle Unity 플러그인은 Android용 Java 1.7을 필요로 하며 iOS 7+를 지원합니다.

      중요 사항 - Unity 5.3 및 5.3.1에는 버그가 있어 Unity가 Windows 8.1용 앱을 구축할 수 없습니다. Unity가 이 문제의 해결을 위한 패치를 출시했으므로 5.3.1p1, 5.3.1p2 및 5.3.1p3 버전을 사용할 것을 권장합니다. 5.3 또는 5.3.1 Unity 버전을 사용하지 마십시오!

    2. Vungle Unity 플러그인:
      - Vungle iOS SDK 4.0.6은 Unity 4 및 Unity 5.4.1 이상을 지원합니다.
      - Android의 경우 Unity 5 및 Unity 4 모두를 지원합니다. 
      - Windows의 경우(Universal 8.1 또는 Phone 8.1) Unity 4 이상을 지원합니다.
      - Windows의 경우(Windows 10 UWP) Unity 5.2 이상을 지원합니다. 

    3. Windows의 경우, 이 지침의 나머지 부분을 수행하기 전에 Windows SDK를 설치하여 Vungle Unity 플러그인을 설치합니다. Windows 개발은 Windows PC를 통해서만 가능합니다. 개발을 위해 사용 중인 플랫폼 버전을 위한 Windows SDK를 설치했는지 반드시 확인해야 합니다.

      - Windows SDK 8.1 다운로드 - https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk

      - Windows SDK 10 다운로드 - https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk

    4. Windows N and KN 에디션에서의 Vungle 광고: Windows 스페셜 N 또는 KN 에디션 사용자의 경우, "Windows 10 N 및 KN 에디션을 위한 미디어 기능 팩"을 반드시 설치하여 Vungle 광고를 작동시켜야 합니다.

    5. 통합하려면 Vungle 계정이 필요하므로 계정이 없다면  Vungle 계정 만들기를 하십시오.

    6. 아직 Vungle 계정을 만들지 않은 경우에는 당사의 대시보드로 이동하여 해당 앱을 본인의 계정에 추가합니다. 이것이 필요한 이유는 앱 ID를 만들어 SDK으로 앱에 추가해야 하기 때문입니다. 예를 들어 아래 이미지에는 앱 ID가 빨간색 원으로 표시되어 있고 앱의 페이지에도 표시되어 있습니다.

      새 애플리케이션에는 애플리케이션 ID가 보고 API ID와 일치할 수 있습니다. '검색'을 사용하여 만든 기존 애플리케이션의 경우 애플리케이션 ID 및 보고 API ID가 다를 수 있습니다. (중개 시 보고 API '키'가 사용자 계정 세부 정보 페이지에 나옴)

Vungle Unity 플러그인은 위에 링크된 샘플 코드에 포함되어 있지 않습니다. 따라서 우선 필히 Vungle 대시보드에서 다운로드했는지 확인하시기 바랍니다.  다운로드가 완료된 후에는...

Vungle Unity 플러그인 설치

Unity가 열려 있고 프로젝트를 표시하는 상태에서 다운로드한 VunglePlugin.unitypackage 파일을 두 번 클릭하여 Vungle Unity 플러그인을 애플리케이션에 추가합니다.

가져오기 전에  모두를 클릭하여 모든 사항을 선택합니다.

빌드 설정의 정확한 플랫폼을 대상으로 하고 있는지 확인합니다.

다음 단계를 수행하는 동안 컴파일 오류를 방지하기 위해 프로젝트 빌드 설정(cmd + Shift + B) 이 iOS, Android 또는 Windows 플랫폼을 대상으로 하는지 확인합니다.

Windows의 경우

Windows용 Unity 5를 사용 중인 경우, SDK에 각 Windows 플랫폼을 위한 별도의 VungleSDK.winmd 파일이 있습니다. 파일은 해당 플랫폼 이름으로 지정된 디렉터리에 있습니다. 다음 이미지를 참조하여 다음의 설정을 완료합니다.

프로젝트 탭 아래에서 적절한 Vungle SDK를 선택합니다. 플러그인 플랫폼 선택플랫폼 설정 섹션의 인스펙터 탭 아래에 있는 다음의 파라미터가 적절히 설정되어 있는지 확인합니다.

  • Assets/Plugins/metro/VungleSDKProxy.winmd의 경우:
    플랫폼: WSAPlayer
    SDK: 모든 SDK
    플레이스 홀더: Assets/Plugins/VungleSDKProxy.dll:

  • Assets/Plugins/metro/VungleSDK.winmd의 경우:
    플랫폼: WSAPlayer
    SDK: SDK81

  • Assets/Plugins/metro/UWP/VungleSDK.winmd의 경우:
    플랫폼: WSAPlayer
    SDK: UWP

  • Assets/Plugins/metro/WindowsPhone81/VungleSDK.winmd의 경우:
    플랫폼: WSAPlayer
    SDK: Phone SDK81

중요사항! Unity 버전 5.3.1 이상을 사용하여 Universal 8.1 또는 Phone 8.1 프로젝트를 빌드하고 있는 경우 반드시 다음의 2가지 방법 중 하나로 Assets/Plugins/metro/UWP/VungleSDK.winmd의 사용을 꺼 놓아야 합니다.

  • Assets/Plugins/metro/UWP/VungleSDK.winmd를 선택하고 플러그인 플랫폼 선택 섹션의 인스펙터 탭 아래에서 WSAPlayer 를 삭제하든가
  • Assets/Plugins/metro/UWP/VungleSDK.winmd를 삭제

Unity 4를 사용 중인 경우, 플레이어 설정으로 이동한 다음 --> 퍼블리셔 설정 으로 이동하여 다음의 설정을 변경합니다.

  • 처리되지 않은 플러그인: 크기 1
  • 요소 0: VungleSDKProxy.dll

Unity에서 Windows 프로젝트를 게시한 후에 프로젝트가 Unity 환경에서 internetClient기능을 갖추고 있는지 확인합니다. 빌드 설정(shift + ctrl + b) 열기 --> 플랫폼 아래의 Windows 스토어 선택 --> 플레이어 설정 클릭. 기능 메뉴의 퍼블리싱 설정 아래에서 다음과 같이 InternetClient 옵션을 선택합니다.

코드 추가!

이 설명에서는 기본 게임 객체에 첨부된 스크립트에서 Vungle과 관련된 모든 코드를 초기화하겠지만 적절하다고 생각하는 모든 스크립트에서 언제든지 Vungle Unity 플러그인을 호출합니다.  하지만 최대한 빨리 Vungle Unity 플러그인을 초기화하여 'playAd'를 호출할 때 사용자에게 광고를 표시하기 위해 포함된 Vungle SDK가 제 시간에 구성을 완료하도록 합니다.

초기화

초기화는 한 줄로만 되어 있습니다. 한 번만 호출하면 되며 사용자에게 광고를 표시하도록 Vungle Unity 플러그인을 준비하는 데 사용됩니다.  *SDK가 초기화하고 재생할 광고를 캐싱하려면 30~45초가 필요하기 때문에 다음과 같이 애플리케이션에서 최대한 빨리 Vungle SDK를 초기화하십시오.*

//앱 ID를 앱 페이지의 Vungle 대시보드에서 찾을 수 있습니다
Vungle.init ("Test_Android", "Test_iOS", "Test_Windows");

광고 재생

광고 재생은 별도의 한 줄로 되어 있습니다.

//짧고 간단합니다!
Vungle.playAd();

playAd 방법을 통해 옵션 딕셔너리를 수락하여 광고 재생 경험을 사용자 지정할 수도 있습니다.

// 더 많은 옵션으로 광고를 재생합니다. Dictionary<string,object>를 사용하여 옵션을 설정합니다.
public static void playAdWithOptions( Dictionary<string,object> options );

옵션 딕셔너리는 다음의 키를 허용합니다.

설명
인센티브화

사용자가 광고를 완료할 때마다 통지를 받을 수 있습니다. 일반적인 사용 사례는 일종의 가치 교환을 제공할 때입니다('이 비디오를 시청하시면 100개의 보석을 드립니다!'). 광고를 인센티브화하면 당사는 귀사가 사용자에게 보상할 수 있도록 귀사 서버에 즉시 메시지와 사용자 ID(귀사 제공)를 전송합니다. 이것에 대해 "true"로 설정하면 광고가 인센티브화됩니다. 인센티브화된 광고의 설정을 위한 지침을 참조하십시오.

Dictionary<string, object> options = new Dictionary<string, object> ();
options ["incentivized"] = true;
Vungle.playAdWithOptions (options);
방향 전환

광고의 방향을 설정합니다.

  • iOS의 경우, VungleAdOrientation을 사용하십시오.
public enum VungleAdOrientation
{
    Portrait = 1,
    LandscapeLeft = 2,
    LandscapeRight = 3,
    PortraitUpsideDown = 4,
    Landscape = 5,
    All = 6,
    AllButUpsideDown = 7
}
  • Android의 경우, matchVideotrue, autoRotatefalse 설정
  • Windows의 경우, autoRotatetrue, landscapefalse 설정 (기본값은 autoRotate입니다.)
userTag 키 사용자는 S2S 호출에서 사용자로 전달된 인물입니다(존재하는 경우).
광고위치 각 광고의 재생 위치를 자세히 기술한 메타데이터.  애플리케이션 성능에 대한 보고 데이터를 검색할 때 다양한 광고 경험을 필터링하는 데 사용됩니다.
alertTitle 사용자가 인센티브화된 광고 경험을 조기에 닫을 때 표시되는 경고 대화 상자의 제목으로 사용되는 문자열입니다.
alertText 사용자가 인센티브화된 광고 경험을 조기에 닫을 때 표시되는 경고 대화 상자의 본문 텍스트로 사용되는 문자열입니다.
closeText 사용자가 인센티브화된 광고 경험을 조기에 닫을 때 표시되는 경고 대화 상자의 닫기 버튼 텍스트로 사용되는 문자열 제목입니다.
continueText 사용자가 인센티브화된 광고 경험을 조기에 닫을 때 표시되는 경고 대화 상자의 닫기 버튼 텍스트로 사용되는 문자열 제목입니다.
몰입형

몰입형 모드

key1..8 여기에 빌드한 8개의 키가 있습니다.

OnPause 및 OnResume 기능

앱이 바탕화면으로 이동되었을 때 일시 정지된 광고가 다시 재생되도록 하는 onPause 및 onResume 기능에 대한 코드를 추가합니다

void OnApplicationPause(bool pauseStatus) {
	if (pauseStatus) {
		Vungle.onPause();
	}
	else {
		Vungle.onResume();
	}
}

이벤트 취급

Vungle Unity 플러그인을 사용하면 앱이 광고 표시 주변의 4가지 이벤트를 구독할 수 있습니다.

// Vungle 광고를 표시할 준비가 되었을 때 실행
public static event Action<bool> adPlayableEvent;
// Vungle 광고가 시작될 때 실행
public static event Action onAdStartedEvent;
//Vungle 광고가 끝나고 this 이벤트에 관한 전체 정보를 제공할 때 실행
public static event Action<AdFinishedEventArgs> onAdFinishedEvent;

AdFinishedEventArgs 는 다음 파라미터로 구성됩니다.

public class AdFinishedEventArgs : EventArgs
{
	// 사용자가 다운로드 버튼을 눌러서 스토어로 이동하는 경우 true
	public bool WasCallToActionClicked;

	// 적어도 80% 이상 비디오를 시청한 경우 true
	public bool IsCompletedView;

	// Vungle 광고를 시청한 시간
	public double TimeWatched;

	// Vungle 광고의 총 시간
	public double TotalDuration;
}
// SDK가 로그 이벤트를 보낼 때 실행
public static event Action<string> onLogEvent;

참고: 다음 세 가지 이벤트가 제거됩니다.

// 제거: 대신 adPlayableEvent 이벤트를 사용하십시오.
public static event Action onCachedAdAvailableEvent;

// 제거: 대신 onAdFinishedEvent 이벤트를 사용하십시오.
public static event Action onAdEndedEvent;
	
// 제거: 대신 onAdFinishedEvent 이벤트를 사용하십시오.
public static event Action<double,double> onAdViewedEvent;

이들 이벤트의 구독은 쉬우며 VungleManager 객체를 통해 수행됩니다. C#에서는, 이벤트 리스너를 추가하는 과정이 다음과 같습니다.

// 이벤트가 트리거될 때마다 비동기적으로 호출된 캡슐화된 기능입니다.
Vungle.adPlayableEvent += (isAdAvailable) => {
	if (isAdAvailable) {
DebugLog ("An ad is ready to show!");
} else {
DebugLog ("No ad is available at this moment.");
} };

그렇습니다! Vungle Unity 플러그인에 대한 자세한 내용은 다른 플러그인 문헌을 확인하시거나 Unity 샘플 앱의 소스 코드를 살펴보시기 바랍니다.

 

플러그인 가져오기에 대한 참고: 가져오기 시, 다음과 유사한 오류가 나타날 수 있습니다.

Assets/Editor/Vungle/VungleSDK/vg_privacy.png에서 텍스처를 만들 수 없습니다. 
파일을 읽을 수 없습니다.

Unity 콘솔에 표시됩니다.  이것은 플러그인의 초기 가져오기 중에만 이루어지며 안전하게 지울 수 있습니다(지우기 버튼은 Unity 콘솔의 좌측 상단에 있음). 오류는 빌드 또는 내보내기에 영향을 주지 않고 가져오기 프로세스 중에만 일시적으로 발생할 수 있습니다!

테스트 모드에서의 앱 테스트에 대한 참고: 앱이 테스트 모드에 있는 동안에는 광고 중인 앱을 다운로드할 수 없습니다. 또한, 대시보드가 광고 노출 수를 보고하지 않습니다. 이는 사용자가 올바르게 SDK를 통합했는지 확인하는 데에만 테스트 광고가 사용되기 때문입니다. 이 기능은 해당 앱이 활성 모드에서 작동할 준비가 되었을 때 비로소 제공됩니다.

Vungle 샘플 앱 실행

당사의 샘플 앱을 실행하려면 Assets -->Plugins --> Vungle --> demo 폴더로 이동하고 VungleCombo.unity를 두 번 클릭하여 앱을 로드합니다. VungleCombo가 계층 구조 창에 표시되는지 확인하고 빌드 및 실행을 클릭합니다.

Windows에서 Xcode 프로젝트를 내보내는 방법

윈도우 기기에서 Unity로부터 Xcode 프로젝트를 내보내려면 Python 프로그래밍 언어가 기기에 설치되어 있어야 합니다. 이 목적을 위해 Python만 설치하거나 내보내기를 할 때 문제가 발생하는 경우 다음에서 최신 버전의 Python을 설치하십시오. https://www.python.org/.

 

또 다른 질문이 있으십니까? 문의 등록

댓글