Unity 광고와 미디에이션 통합

이 가이드에서는 GMA Next-Gen SDK를 사용하여 미디에이션을 통해 Unity Ads의 광고를 로드하고 표시하는 방법을 보여주며, 입찰 및 폭포식 구조 통합을 다룹니다. 광고 단위의 미디에이션 구성에 Unity Ads를 추가하는 방법과 Unity Ads SDK 및 어댑터를 Android 앱에 통합하는 방법을 설명합니다.

지원되는 통합 및 광고 형식

Unity Ads용 미디에이션 어댑터에는 다음과 같은 기능이 있습니다.

통합
입찰
폭포  1
형식
배너
전면 광고
리워드 제공됨
네이티브

요구사항

  • Android API 수준 24 이상
  • [입찰의 경우]: 지원되는 모든 광고 형식을 입찰에 통합하려면 Unity 어댑터 4.16.0.1 이상 (최신 버전 권장됨)을 사용하세요.

1단계: Unity Ads UI에서 구성 설정하기

Unity Ads에 가입하거나 로그인합니다.

프로젝트 만들기

Unity Ads dashboard(Unity Ads 대시보드)에서 Projects(프로젝트)로 이동하여 New(새로 만들기)를 클릭합니다.

양식을 작성하고 만들기를 클릭하여 프로젝트를 추가합니다.

Unity Ads Monetization(Unity Ads 수익 창출)으로 이동한 다음 Get started(시작하기)를 클릭합니다.

New Project(새 프로젝트) 모달에서 I will use Mediation(미디에이션 사용)을 선택하고 Mediation Partner(미디에이션 파트너)로 Google Admob을 선택한 다음 Next(다음)를 클릭합니다.

광고 설정 옵션을 선택한 다음 Next(다음)를 클릭합니다.

게재위치 설정을 선택한 다음 Next(다음)를 클릭합니다.

입찰

폭포

양식을 작성한 후 프로젝트 추가를 클릭합니다.

Game ID(게임 ID)를 기록해 둡니다.

광고 단위 및 게재위치 만들기

Unity Ads Monetization(Unity Ads 수익 창출) > Placements(게재위치)로 이동한 다음 프로젝트를 선택하고 Add ad unit(광고 단위 추가)을 클릭합니다.

Ad unit name(광고 단위 이름)을 입력한 다음 Platform(플랫폼)과 Ad format(광고 형식)을 선택합니다.

수익 창출 > 게재위치로 이동한 다음 광고 단위 추가를 클릭합니다.

Ad Unit Name(광고 단위 이름)을 입력한 다음 Platform(플랫폼)과 Ad Format(광고 형식)을 선택합니다.

Setup(설정)에서 Waterfall(폭포식 구조)을 선택합니다. Placement(게재위치)에서 Placement name(게재위치 이름), GEO Tagging(지역 태그 지정), Target(타겟)을 입력합니다.

Placement ID(게재위치 ID)를 기록해 둡니다.

마지막으로 광고 단위 추가를 클릭하여 광고 단위와 게재위치를 저장합니다.

Unity Ads Reporting API 키 찾기

입찰

입찰 통합에는 이 단계가 필요하지 않습니다.

폭포

Unity Ads Monetization(Unity Ads 수익 창출) > API management(API 관리)로 이동하여 Monetization Stats API Access(Monetization Stats API 액세스)의 API Key(API 키)를 기록해 둡니다.

그런 다음 Unity Ads Monetization(Unity Ads 수익 창출) > Organization Settings(조직 설정)으로 이동하여 Organization core ID(조직 핵심 ID)를 기록합니다.

app-ads.txt 업데이트

승인된 앱 판매자 app-ads.txt는 승인받은 것으로 확인된 채널을 통해서만 앱 광고 인벤토리가 판매될 수 있게 해주는 IAB Tech Lab 이니셔티브입니다. 광고 수익이 크게 감소하는 것을 방지하려면 app-ads.txt 파일을 구현해야 합니다. 아직 구현하지 않았다면 Ad Manager용 app-ads.txt 파일을 만듭니다.

Unity Ads에 app-ads.txt를 구현하려면 처음으로 app-ads.txt 설정하기를 참고하세요.

테스트 모드 사용 설정

테스트 모드는 Unity Ads 대시보드에서 사용 설정할 수 있습니다. Unity Ads Monetization(Unity Ads 수익 창출) > Testing(테스트)으로 이동합니다.

Google Play 스토어 옆에 있는 수정 버튼을 클릭하고 클라이언트 테스트 모드 재정의를 사용 설정한 다음 모든 기기에 테스트 모드 강제 설정 (즉, 테스트 광고 사용)을 선택하여 앱의 테스트 모드를 강제 설정할 수 있습니다.

또는 테스트 기기 추가를 클릭하여 특정 기기의 테스트 모드를 사용 설정할 수 있습니다.

테스트 기기 세부정보를 입력한 다음 저장을 클릭합니다.

2단계: Ad Manager UI에서 Unity Ads 수요 설정하기

Ad Manager 계정에 로그인합니다.

회사에 Unity Ads 추가하기

입찰

입찰 통합에는 이 단계가 필요하지 않습니다.

폭포

관리 > 회사로 이동한 다음 모든 회사 탭에서 새 회사 버튼을 클릭합니다. 광고 네트워크를 선택합니다.

광고 네트워크Unity Ads를 선택하고 고유한 이름을 입력한 후 미디에이션을 사용 설정합니다. 자동 데이터 수집을 사용 설정하고 이전 섹션에서 확인한 API 키조직 핵심 ID를 입력합니다.

사용자 이름 또는 비밀번호를 입력할 필요가 없습니다. 완료되면 저장을 클릭합니다.

보안 처리된 신호 공유 사용 설정

입찰

관리 > 전체 설정으로 이동합니다. Ad Exchange 계정 설정 탭으로 이동하여 보안 처리된 신호 공유를 검토하고 전환 스위치를 켭니다. 저장을 클릭합니다.

폭포

폭포식 구조 통합에는 이 단계가 필요하지 않습니다.

입찰 요청 시 보안 처리된 신호 공유

입찰

인벤토리 > 보안 처리된 신호로 이동합니다. 보안 처리된 신호에서 Unity Ads를 검색하고 앱 통합 사용 설정에서 전환 스위치를 켭니다.

저장을 클릭합니다.

폭포

폭포식 구조 통합에는 이 단계가 필요하지 않습니다.

SDK 입찰을 위한 보안 처리된 신호 공유 허용하기

입찰

게재 > 수요 채널 설정으로 이동합니다. 기본 설정 탭에서 SDK 입찰에 대해 보안 처리된 신호 공유 허용을 사용 설정합니다.

저장을 클릭합니다.

폭포

폭포식 구조 통합에는 이 단계가 필요하지 않습니다.

Unity Ads 입찰 구성하기

입찰

게재 > 입찰자로 이동하여 SDK 입찰로 이동을 클릭합니다.

새 입찰자를 클릭합니다.

입찰자로 Unity Ads를 선택합니다.

계속을 클릭하여 이 입찰자에 대해 SDK 입찰을 사용 설정합니다.

완료를 클릭합니다.

폭포

폭포식 구조 통합에는 이 단계가 필요하지 않습니다.

광고 단위 매핑 구성하기

입찰

게재 > 입찰자로 이동하여 SDK 입찰로 이동을 클릭합니다.

Unity Ads의 회사를 선택합니다.

광고 단위 매핑 탭으로 이동하여 새 광고 단위 매핑을 클릭합니다.

특정 광고 단위를 선택합니다. 광고 단위와 형식, 인벤토리 유형으로는 모바일 앱을, 그리고 모바일 애플리케이션을 선택합니다. 그런 다음 이전 섹션에서 얻은 게임 ID게재위치 ID를 입력합니다. 마지막으로 저장을 클릭합니다.

폭포

게재 > 수익 그룹으로 이동하여 새 수익 그룹 버튼을 클릭합니다. 모바일 애플리케이션을 선택합니다.

아래로 스크롤하여 수익 파트너 추가를 클릭합니다.

이전 섹션에서 Unity Ads에 대해 만든 회사를 선택합니다. 통합 유형으로 모바일 SDK 미디에이션, 플랫폼으로 Android, 상태활성을 선택합니다.

이전 섹션에서 얻은 게임 ID게재위치 ID, 기본 CPM 값을 입력합니다. 저장을 클릭합니다.

참고: 미디에이션 네트워크에 대한 동적 CPM 값을 정확하게 계산할 수 있기까지 자동 데이터 수집을 통한 데이터 수집에는 며칠의 시간이 소요됩니다. eCPM을 계산할 수 있게 되면 자동으로 업데이트됩니다.

GDPR 및 미국 주 규정 광고 파트너 목록에 Unity Ads 추가하기

유럽 규정 설정미국 주 규정 설정의 단계에 따라 Ad Manager UI의 유럽 및 미국 주 규정 광고 파트너 목록에 Unity Ads를 추가하세요.

3단계: Unity Ads SDK 및 어댑터 가져오기

앱 수준 gradle 파일에 다음 구현 종속 항목과 구성을 추가합니다.

Kotlin

dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02")
    implementation("com.unity3d.ads:unity-ads:4.16.5")
    implementation("com.google.ads.mediation:unity:4.16.6.0")
}

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Groovy

dependencies {
    implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02'
    implementation 'com.unity3d.ads:unity-ads:4.16.5'
    implementation 'com.google.ads.mediation:unity:4.16.6.0'
}

configurations.configureEach {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}

수동 통합

  1. GitHub 저장소에서 최신 Unity Ads SDK (unity-ads.aar)를 다운로드하여 프로젝트에 추가합니다.

  2. Google의 Maven 저장소에서 Unity Ads 어댑터 아티팩트로 이동합니다. 최신 버전을 선택하고 Unity Ads 어댑터의 .aar 파일을 다운로드하여 프로젝트에 추가합니다.

4단계: Unity Ads SDK에 개인 정보 보호 설정 구현하기

Google EU 사용자 동의 정책을 준수하려면 유럽 경제 지역 (EEA), 영국, 스위스의 사용자에게 특정 정보를 공개하고, 법적으로 요구되는 경우 쿠키 또는 기타 로컬 저장소의 사용과 광고 개인화를 위한 개인 정보의 수집, 공유, 사용에 대한 동의를 얻어야 합니다. 이 정책에는 EU 온라인 개인 정보 보호 지침 및 개인 정보 보호법 (GDPR)의 요구사항이 반영되어 있습니다. 동의가 미디에이션 체인의 각 광고 소스에 전파되는지 확인해야 합니다. Google은 사용자의 동의 여부를 이러한 네트워크에 자동으로 전달할 수 없습니다.

SDK 버전 2.0.0에서 Unity Ads는 개인 정보 보호 설정을 지원하는 API를 추가했습니다. 다음 샘플 코드는 이 동의 정보를 Unity Ads SDK에 전달하는 방법을 보여줍니다. 동의 정보를 Unity Ads SDK에 수동으로 전달하려면 GMA Next-Gen SDK를 통해 광고를 요청하기 전에 이 코드를 호출하는 것이 좋습니다.

자바

MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", true);
gdprMetaData.commit();

Kotlin

val gdprMetaData = MetaData(this)
gdprMetaData["gdpr.consent"] = true
gdprMetaData.commit()

각 메서드에서 제공할 수 있는 값과 자세한 내용은 Unity Ads의 GDPR 준수를 참고하세요.

미국 주 개인 정보 보호법

미국 주 개인 정보 보호법에 따라 사용자에게 법률에 정의된 조항에 따라 '개인 정보'의 '판매'를 거부할 권리를 부여해야 합니다. 개인 정보 판매 거부 권리는 '판매'하는 회사의 홈페이지에 명시된 'Do Not Sell My Personal Information(내 개인 정보 판매 거부)' 링크를 통해 행사할 수 있습니다. 미국 주 개인 정보 보호법 준수 가이드에서는 Google 광고 게재에 대해 제한적인 데이터 처리를 사용 설정할 수 있지만, Google은 게시자 미디에이션 체인의 각 광고 네트워크에 이 설정을 적용할 수 없습니다. 따라서 미디에이션 체인에서 개인 정보 판매에 참여할 수 있는 각 광고 네트워크를 식별하고 각 네트워크의 가이드에 따라 규정을 준수해야 합니다.

SDK 버전 2.0.0에서 Unity Ads는 개인 정보 보호 설정을 지원하는 API를 추가했습니다. 다음 샘플 코드는 이 동의 정보를 Unity Ads SDK에 전달하는 방법을 보여줍니다. 동의 정보를 Unity Ads SDK에 수동으로 전달하려면 GMA Next-Gen SDK를 통해 광고를 요청하기 전에 이 코드를 호출하는 것이 좋습니다.

자바

MetaData ccpaMetaData = new MetaData(this);
ccpaMetaData.set("privacy.consent", true);
ccpaMetaData.commit();

Kotlin

val ccpaMetaData = MetaData(this)
ccpaMetaData["privacy.consent"] = true
ccpaMetaData.commit()

각 메서드에서 제공할 수 있는 값과 자세한 내용은 Unity Ads의 소비자 개인 정보 보호법 준수를 참고하세요.

5단계: 필수 코드 추가하기

활동 컨텍스트로 광고 로드

배너 광고, 전면 광고, 네이티브 광고 형식을 로드할 때 Activity 컨텍스트를 전달합니다. 활동 컨텍스트가 없으면 광고 로드가 실패합니다.

6단계: 구현 테스트하기

테스트 광고 사용 설정

Ad Manager에 테스트 기기를 등록하고 Unity Ads UI에서 테스트 모드를 사용 설정해야 합니다.

테스트 광고 확인

Unity Ads에서 테스트 광고를 수신하는지 확인하려면 Unity Ads(입찰) 및 Unity Ads(폭포식 구조) 광고 소스를 사용하여 광고 검사기에서 단일 광고 소스 테스트를 사용 설정하세요.

오류 코드

어댑터가 Unity Ads에서 광고를 수신하지 못하는 경우 게시자는 다음 클래스에서 ResponseInfo.getAdSourceResponses()를 사용하여 광고 응답의 기본 오류를 확인할 수 있습니다.

com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter

다음은 광고 로드에 실패할 때 UnityAds 어댑터에서 발생하는 코드와 메시지입니다.

오류 코드 이유
0-10 UnityAds SDK에서 오류를 반환했습니다. 자세한 내용은 코드를 참고하세요.
101 Ad Manager UI에서 구성된 UnityAds 서버 매개변수가 누락되었거나 잘못되었습니다.
102 UnityAds에서 NO_FILL 상태의 게재위치를 반환했습니다.
103 UnityAds에서 상태가 DISABLED인 게재위치를 반환했습니다.
104 UnityAds가 null 컨텍스트의 광고를 표시하려고 했습니다.
105 Unity Ads에서 광고를 초기화, 로드 또는 표시하는 데 사용되는 컨텍스트가 Activity 인스턴스가 아닙니다.
106 UnityAds가 표시할 준비가 되지 않은 광고를 표시하려고 했습니다.
107 기기에서 UnityAds가 지원되지 않습니다.
108 UnityAds는 게재위치당 한 번에 하나의 광고만 로드할 수 있습니다.
109 UnityAds가 ERROR 상태로 완료되었습니다.
200-204 UnityAds 배너 관련 오류입니다. 자세한 내용은 코드를 참고하세요.