Skip to content

(Legacy) iOS integration

pineglobal edited this page Jan 7, 2019 · 4 revisions

(레거시) iOS 통합

참고: 이 레거시 가이드에서는 지금도 완전하게 지원되는 UnityAds API를 이용하여 Objective-C로 Unity Ads를 통합하는 방법을 소개합니다. 그렇지만 유니티는 SDK 3.0+ 버전에서 제공하는 UnityMonetization API의 고급 최적화 기능을 사용할 것을 권장합니다. 자세한 내용은 여기를 클릭하세요.

이 가이드는 네이티브 iOS 프로젝트에 Unity Ads를 통합하는 방법을 소개합니다.

여기에서 Unity Ads 프레임워크를 다운로드할 수 있습니다.

동영상 튜토리얼은 여기에서 이용 가능합니다.

예제 프로젝트는 GitHub에서 찾을 수 있습니다.

목차:


빠른 시작 가이드

Unity Ads Dashboard에서 게임 프로젝트 생성

UDN 계정을 이용하여 Unity Developer Dashboard에 로그인하십시오.

  • 아직 UDN 계정이 없다면 여기에서 가입하세요.

Dashboard에서 새로운 게임 프로젝트를 생성하십시오.

참고: 특별히 미국의 아동 및 청소년을 대상으로 개발하는 게임이 아니라면 "targets children under 13(13세 미만 어린이용)” 옵션을 OFF로 설정하십시오. 전 연령에서 이용할 수 있는 게임은 COPPA 규제 기능을 사용할 필요가 없습니다.

게임 프로젝트를 선택하여 (7자리) Game ID(게임 ID)를 찾으십시오. 이 번호를 이용하여 Unity Ads를 활성화할 수 있습니다.

게임 ID(iOS 또는 Android)를 선택하여 placement ID(플레이스먼트 ID)를 찾은 다음, Placement 탭을 클릭하십시오. 각 게임 ID마다 다음과 같은 두 개의 플레이스먼트가 존재합니다.

  • video(기본/5초 후 건너뛰기)
  • rewardedVideo(건너뛰기 옵션 없음)

설정 탭에서 for each game ID(각 게임 ID마다) 테스트 모드를 사용하십시오.

Apple/Play Store Game ID > Settings > Test mode: Force ON

Swift에서 Unity Ads 통합

아래로 스크롤하여 Objective-C까지 이동합니다.

Unity Ads 임포트

최신 Unity Ads 프레임워크는 여기에서 다운로드할 수 있습니다.

프레임워크를 드래그 앤 드롭으로 프로젝트에 옮기고 복사하십시오.

ViewController에서 Unity Ads를 임포트하고 Unity Ads 델리게이트를 설정하십시오.

import UnityAds

class GameViewController: UIViewController, UnityAdsDelegate {

UnityAdsDelegate에 UnityAds 콜백을 추가하십시오.

  • unityAdsReady
  • unityAdsDidStart
  • unityAdsDidError
  • unityAdsDidFinish
func unityAdsReady(_ placementId: String) { }

func unityAdsDidStart(_ placementId: String) { }

func unityAdsDidError(_ error: UnityAdsError, withMessage message: String) { }

func unityAdsDidFinish(_ placementId: String, with state: UnityAdsFinishState) { }

이 지점에서 프로젝트가 정상적으로 컴파일되어야 합니다.

Unity Ads 초기화 및 동영상 표시

UnityAds.initialize()로 SDK를 초기화하십시오.

대시보드의 7자리 Game ID를 입력하고 다음의 예제처럼 UnityAdsDelegate에 self를 입력하십시오.

override func viewDidLoad() {
  super.viewDidLoad()
  UnityAds.initialize("1003843", delegate: self)
}

동영상이 준비되었는지 확인한 다음 유효한 플레이스먼트 ID를 사용하여 동영상을 표시하십시오.

let placement = "rewardedVideo"
if (UnityAds.isReady(placement)) {
  //a video is ready & placement is valid
  UnityAds.show(self, placementId: placement)
}

이 시점이 되면 게임 내에서 동영상 광고를 시청할 수 있습니다.

광고 시청에 대한 플레이어 보상

Unity Ads로 수익을 최대화하려면 광고를 시청한 플레이어에게 게임 내에서 보상하는 것이 중요합니다. 일반적으로 다음과 같은 보상이 있습니다.

  • 게임 내 화폐 무료 제공
  • 단시간 능력 강화
  • 게임이 끝난 후에도 이어서 진행할 수 있는 기회
  • 게임 내 아이템 또는 잠금 해제

unityAdsDidFinish() 콜백 메서드를 사용하면 동영상을 건너뛰지 않았는지 확인한 다음 플레이어에게 보상을 제공할 수 있습니다.

func unityAdsDidFinish(_ placementId: String, with state: UnityAdsFinishState) {
  if state != .skipped{
    //Add code to reward the player here
  }
}

Objective-C에서 Unity Ads 통합

Unity Ads 임포트

최신 Unity Ads 프레임워크는 여기에서 다운로드할 수 있습니다.

프레임워크를 드래그 앤 드롭으로 프로젝트에 옮기고 복사하십시오.

ViewController 헤더(.h)에서, Unity Ads를 임포트하고 Unity Ads 델리게이트를 설정하십시오.

#import "UnityAds/UnityAds.h"

@interface ViewController : UIViewController<UnityAdsDelegate>

Viewcontroller 구현부(.m)에서, 다음의 @required 메서드를 추가하십시오.

- (void)unityAdsReady:(NSString *)placementId{
}

- (void)unityAdsDidError:(UnityAdsError)error withMessage:(NSString *)message{
}

- (void)unityAdsDidStart:(NSString *)placementId{
}

- (void)unityAdsDidFinish:(NSString *)placementId withFinishState:(UnityAdsFinishState)state{
}

✅ 이 지점에서 프로젝트가 정상적으로 컴파일되어야 합니다.

Unity Ads 초기화 및 동영상 표시

UnityAds.initialize()로 SDK를 초기화하십시오.

참고: 7 자리 Game ID를 문자열로 입력합니다.

- (void)viewDidLoad {
  [super viewDidLoad];
  [UnityAds initialize:@"1088169" delegate:self];
}

참고: 초기화는 10초 이상 걸릴 수 있으므로 게임 수명주기 초반에 UnityAds를 초기화하는 것이 좋습니다.

동영상이 준비되었는지 확인한 다음 대시보드에 있는 기존 플레이스먼트 ID를 사용하여 동영상을 표시하십시오.

if ([UnityAds isReady:@"rewardedVideo"]) {
  [UnityAds show:self placementId:@"rewardedVideo"];
}

✅ 이 시점이 되면 게임 내에서 동영상 광고를 시청할 수 있습니다.

광고 시청에 대한 플레이어 보상

Unity Ads로 수익을 최대화하려면 광고를 시청한 플레이어에게 보상하는 것이 중요합니다. 일반적으로 다음과 같은 보상이 있습니다.

  • 게임 내 화폐 무료 제공
  • 단시간 능력 강화
  • 게임이 끝난 후에도 이어서 진행할 수 있는 기회
  • 게임 내 아이템 또는 레벨 잠금 해제

플레이어에게 보상을 제공하려면 unityAdsDidFinish() 콜백 메서드를 사용하여 동영상을 건너뛰지 않았는지 확인하십시오.

func unityAdsDidFinish(_ placementId: String, with state: UnityAdsFinishState) {
  if state != .skipped{
    //reward the player!
  }
}

이 시점에서 동영상 광고를 표시하고 플레이어에게 보상을 제공할 수 있습니다.


Unity Ads iOS 고급 가이드

추가 질문은 [email protected]으로 문의해 주세요.

Clone this wiki locally