Unity 광고와 미디에이션 통합

이 가이드에서는 Google 모바일 광고 SDK를 사용하여 미디에이션을 통해 Unity Ads의 광고를 로드하고 표시하는 방법을 설명합니다. 폭포식 구조 통합도 다룹니다. 광고 단위의 미디에이션 구성에 Unity Ads를 추가하는 방법과 Unity Ads SDK 및 어댑터를 Flutter 앱에 통합하는 방법을 설명합니다.

지원되는 통합 및 광고 형식

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

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

1 입찰 통합은 공개 베타 버전입니다.

요구사항

  • 최신 Google 모바일 광고 SDK
  • Flutter 3.7.0 이상
  • [입찰의 경우]: 입찰에 지원되는 모든 광고 형식을 통합하려면 Unity Ads 3.11.1 이상용 Google 모바일 광고 미디에이션 플러그인 (최신 버전 권장)을 사용하세요.
  • Android에 배포하기 위해
    • Android API 수준 21 이상
  • iOS에 배포하기 위해
    • iOS 배포 타겟 12.0 이상
  • Google 모바일 광고 SDK로 구성된 작동하는 Flutter 프로젝트 자세한 내용은 시작하기를 참고하세요.
  • 미디에이션 시작 가이드 완료

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

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

프로젝트 만들기

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

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

Unity 광고 수익 창출로 이동한 다음 시작하기를 클릭합니다.

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

광고 설정 옵션을 선택한 후 다음을 클릭합니다.

게재위치 설정을 선택한 후 다음을 클릭합니다.

입찰폭포

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

게임 ID를 기록해 둡니다.

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

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

광고 단위 이름을 입력한 다음 플랫폼광고 형식을 선택합니다.

AndroidiOS

입찰폭포

설정에서 입찰을 선택합니다. 게재위치에서 게재위치 이름을 입력합니다.

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

설정에서 폭포식 구조를 선택합니다. 게재위치에서 게재위치 이름, 지역 태그 지정, 타겟을 입력합니다.

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

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

Unity Ads Reporting API 키 찾기

입찰폭포

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

Unity Ads 수익 창출 > API 관리로 이동하여 수익 창출 통계 API 액세스에서 API 키를 확인합니다.

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

테스트 모드 사용 설정

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

각 플랫폼의 수정 버튼을 클릭하고 클라이언트 테스트 모드 재정의를 사용 설정하고 모든 기기에서 테스트 모드 강제 사용 (즉, 테스트 광고 사용)을 선택하여 앱에 테스트 모드를 강제 적용할 수 있습니다.

AndroidiOS

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

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

2단계: AdMob UI에서 Unity Ads 수요 설정

광고 단위의 미디에이션 설정 구성

AndroidiOS

자세한 내용은 Android 가이드의 2단계를 참고하세요.

자세한 내용은 iOS 가이드의 2단계를 참고하세요.

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

유럽 규정 설정미국 주 규정 설정의 단계에 따라 AdMob UI의 유럽 및 미국 주 규정 광고 파트너 목록에 Unity Ads를 추가합니다.

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

pub.dev를 통한 통합

패키지의 pubspec.yaml 파일에 최신 버전의 Unity Ads SDK 및 어댑터와 함께 다음 종속 항목을 추가합니다.

dependencies:
  gma_mediation_unity: ^1.2.0

수동 통합

Unity Ads용 Google 모바일 광고 미디에이션 플러그인의 최신 버전을 다운로드하고, 다운로드한 파일을 추출한 후 추출된 플러그인 폴더(및 콘텐츠)를 Flutter 프로젝트에 추가합니다. 그런 다음 다음 종속 항목을 추가하여 pubspec.yaml 파일에서 플러그인을 참조합니다.

dependencies:
  gma_mediation_unity:
    path: path/to/local/package

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

Google EU 사용자 동의 정책에 따라 개발자는 기기 식별자 및 개인 정보 사용과 관련하여 유럽 경제 지역 (EEA) 사용자에게 특정 정보를 공개하고 동의를 얻어야 합니다. 이 정책에는 EU 온라인 개인 정보 보호 지침 및 개인 정보 보호법 (GDPR)의 요구사항이 반영되어 있습니다. 동의를 얻으려면 개인 정보를 수집, 수신 또는 사용할 수 있는 미디에이션 체인의 각 광고 네트워크를 식별하고 각 네트워크의 사용에 관한 정보를 제공해야 합니다. 현재 Google은 이러한 네트워크에 사용자의 동의 여부를 자동으로 전달할 수 없습니다.

Unity Ads용 Google 모바일 광고 미디에이션 플러그인에는 GmaMediationUnity.setGDPRConsent() 메서드가 포함되어 있습니다. 다음 샘플 코드는 동의 정보를 Unity Ads SDK에 전달하는 방법을 보여줍니다. 이 메서드를 호출하는 경우 Google 모바일 광고 SDK를 통해 광고를 요청하기 전에 호출하는 것이 좋습니다.

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setGDPRConsent(true);

자세한 내용과 각 메서드에서 제공할 수 있는 값은 Unity Ads의 개인 정보 보호 동의 및 데이터 APIGDPR 준수 가이드를 참고하세요.

미국 주 개인 정보 보호법

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

Unity Ads용 Google 모바일 광고 미디에이션 플러그인에는 GmaMediationUnity.setCCPAConsent() 메서드가 포함되어 있습니다. 다음 샘플 코드는 동의 정보를 Unity Ads SDK에 전달하는 방법을 보여줍니다. 이 메서드를 호출하는 경우 Google 모바일 광고 SDK를 통해 광고를 요청하기 전에 호출하는 것이 좋습니다.

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setCCPAConsent(true);

5단계: 필수 코드 추가

AndroidiOS

Unity Ads Android 통합에는 추가 코드가 필요하지 않습니다.

SKAdNetwork 통합

Unity Ads 문서에 따라 프로젝트의 Info.plist 파일에 SKAdNetwork 식별자를 추가합니다.

6단계: 구현 테스트

테스트 광고 사용 설정

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

테스트 광고 확인

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

오류 코드

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

AndroidiOS
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
GADMAdapterUnity
GADMediationAdapterUnity

다음은 광고를 로드하지 못했을 때 UnityAds 어댑터에서 발생하는 코드 및 함께 표시되는 메시지입니다.

AndroidiOS
오류 코드 이유
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는 한 번에 게재위치당 광고 1개만 로드할 수 있습니다.
109 UnityAds가 ERROR 상태로 종료되었습니다.
200-204 UnityAds 배너에 특정 오류가 표시됩니다. 자세한 내용은 코드를 참고하세요.
0-9 UnityAds SDK에서 오류를 반환했습니다. 자세한 내용은 Unity 문서를 참고하세요.
101 Admob UI에 구성된 UnityAds 서버 매개변수가 누락되었거나 잘못되었습니다.
102 UnityAds에서 지원하지 않는 기기입니다.
103 UnityAds가 오류 상태 kUnityAdsFinishStateError로 표시를 완료했습니다.
104 초기화자를 호출한 후 Unity 광고 객체는 nil입니다.
105 광고가 준비되지 않아 Unity 광고를 게재하지 못했습니다.
106 UnityAds가 게재위치 상태 kUnityAdsPlacementStateNoFill로 게재위치 변경 콜백을 호출했습니다.
107 UnityAds가 게재위치 상태 kUnityAdsPlacementStateDisabled로 게재위치 변경 콜백을 호출했습니다.
108 이 게재위치에 이미 광고가 로드되었습니다. UnityAds SDK는 동일한 게재위치에 여러 광고를 로드하는 것을 지원하지 않습니다.

Unity Ads Flutter 미디에이션 어댑터 변경 로그

버전 1.2.0

  • Google 모바일 광고 Flutter 플러그인 버전 5.3.1로 빌드 및 테스트되었습니다.

버전 1.1.0

  • Google 모바일 광고 Flutter 플러그인 버전 5.2.0으로 빌드 및 테스트되었습니다.

버전 1.0.0

  • Google 모바일 광고 Flutter 플러그인 버전 5.0.0으로 빌드 및 테스트되었습니다.