이 가이드에서는 GMA Next-Gen SDK를 사용하여 AdMob 미디에이션을 통해 Unity Ads의 광고를 로드하고 표시하는 방법을 보여주며, 입찰 및 폭포식 구조 통합을 다룹니다. 광고 단위의 미디에이션 구성에 Unity Ads를 추가하는 방법과 Unity Ads SDK 및 어댑터를 Android 앱에 통합하는 방법을 설명합니다.
지원되는 통합 및 광고 형식
Unity Ads용 미디에이션 어댑터에는 다음과 같은 기능이 있습니다.
| 통합 | |
|---|---|
| 입찰 | |
| 폭포 | 1 |
| 형식 | |
| 배너 | |
| 전면 광고 | |
| 리워드 제공됨 | |
| 네이티브 | |
요구사항
- Android API 수준 24 이상
- [입찰의 경우]: 지원되는 모든 광고 형식을 입찰에 통합하려면 Unity 어댑터 4.16.0.1 이상 (최신 버전 권장됨)을 사용하세요.
GMA Next-Gen SDK 최신 업로드
미디에이션 시작 가이드 완료
1단계: Unity Ads UI에서 구성 설정하기
프로젝트 만들기
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(광고 형식)을 선택합니다.

입찰
Setup(설정)에서 Bidding(입찰)을 선택합니다. Placement(게재위치)에서 Placement name(게재위치 이름)을 입력합니다.

Placement ID(게재위치 ID)를 기록해 둡니다.
폭포
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 파일을 구현해야 합니다.
아직 구현하지 않았다면
앱에 app-ads.txt 파일을 설정하세요.
Unity Ads에 app-ads.txt를 구현하려면 처음으로 app-ads.txt 설정하기를 참고하세요.
테스트 모드 사용 설정
테스트 모드는 Unity Ads 대시보드에서 사용 설정할 수 있습니다. Unity Ads Monetization(Unity Ads 수익 창출) > Testing(테스트)으로 이동합니다.
Google Play 스토어 옆에 있는 수정 버튼을 클릭하고 클라이언트 테스트 모드 재정의를 사용 설정한 다음 모든 기기에 테스트 모드 강제 설정 (즉, 테스트 광고 사용)을 선택하여 앱의 테스트 모드를 강제 설정할 수 있습니다.

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

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

2단계: AdMob UI에서 Unity Ads 수요 설정하기
광고 단위의 미디에이션 설정 구성
광고 단위의 미디에이션 구성에 Unity Ads를 추가해야 합니다.
먼저 AdMob 계정에 로그인합니다. 그런 다음 미디에이션 탭으로 이동합니다. 수정하려는 기존 미디에이션 그룹이 있는 경우 해당 미디에이션 그룹의 이름을 클릭하여 수정하고 광고 소스로 Unity Ads 추가로 건너뜁니다.
새 미디에이션 그룹을 만들려면 미디에이션 그룹 만들기를 선택합니다.

광고 형식과 플랫폼을 입력한 다음 계속을 클릭합니다.

미디에이션 그룹의 이름을 지정하고 타겟팅할 위치를 선택합니다. 다음으로 미디에이션 그룹 상태를 사용으로 설정한 다음 광고 단위 추가를 클릭합니다.

이 미디에이션 그룹을 기존 AdMob 광고 단위 하나 이상과 연결합니다. 그런 다음 완료를 클릭합니다.

이제 선택한 광고 단위로 채워진 광고 단위 카드가 표시됩니다.

Unity Ads를 광고 소스로 추가하기
입찰
광고 소스 섹션의 입찰 카드에서 광고 소스 추가를 선택합니다. 그런 다음 Unity Ads를 선택합니다.
파트너십 계약을 체결하는 방법을 클릭하고 Unity Ads와 입찰 파트너십을 설정합니다.
확인 및 동의를 클릭한 다음 계속을 클릭합니다.
Unity Ads에 대한 매핑이 이미 있는 경우 이를 선택할 수 있습니다. 그렇지 않으면 매핑 추가를 클릭합니다.
다음으로 이전 섹션에서 확인한 게임 ID와 게재위치 ID를 입력합니다. 그런 다음 완료를 클릭합니다.

폭포
광고 소스 섹션의 폭포식 구조 카드에서 광고 소스 추가를 선택합니다.
Unity Ads를 선택하고 최적화 스위치를 사용 설정합니다. 이전 섹션에서 확인한 API 키와 조직 핵심 ID를 입력하여 Unity Ads의 광고 소스 최적화를 설정합니다. 그런 다음 Unity Ads의 eCPM 값을 입력하고 계속을 클릭합니다.

Unity Ads에 대한 매핑이 이미 있는 경우 이를 선택할 수 있습니다. 그렇지 않으면 매핑 추가를 클릭합니다.

다음으로 이전 섹션에서 확인한 게임 ID와 게재위치 ID를 입력합니다. 그런 다음 완료를 클릭합니다.

GDPR 및 미국 주 규정 광고 파트너 목록에 Unity Ads 추가하기
유럽 규정 설정 및 미국 주 규정 설정의 단계에 따라 AdMob UI의 유럽 및 미국 주 규정 광고 파트너 목록에 Unity Ads를 추가하세요.
3단계: Unity Ads SDK 및 어댑터 가져오기
Android 스튜디오 통합 (권장)
앱 수준 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' }
수동 통합
GitHub 저장소에서 최신 Unity Ads SDK (
unity-ads.aar)를 다운로드하여 프로젝트에 추가합니다.Google의 Maven 저장소에서 Unity Ads 어댑터 아티팩트로 이동합니다. 최신 버전을 선택하고 Unity Ads 어댑터의
.aar파일을 다운로드하여 프로젝트에 추가합니다.
4단계: Unity Ads SDK에 개인 정보 보호 설정 구현하기
EU 동의 및 GDPR
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단계: 구현 테스트하기
테스트 광고 사용 설정
AdMob에 테스트 기기를 등록하고 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 | AdMob 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 배너 관련 오류입니다. 자세한 내용은 코드를 참고하세요. |