이 가이드에서는 폭포식 구조 통합을 다루는 미디에이션을 통해 Google 모바일 광고 SDK를 통해 Unity Ads의 광고를 로드하고 표시하는 방법을 설명합니다. 광고 단위의 미디에이션 구성에 Unity 광고를 추가하는 방법과 Unity 광고 SDK와 어댑터를 앱에 통합하는 방법을 알아봅니다. Flutter
지원되는 통합 및 광고 형식
Unity Ads용 AdMob 미디에이션 어댑터에는 다음과 같은 기능이 있습니다.
통합 | |
---|---|
입찰 | 1 |
폭포 | |
형식 | |
배너 | |
전면 광고 | |
리워드 제공됨 |
1 입찰 통합은 비공개 베타 버전으로 제공됩니다. 계정 관리자에게 문의하여 액세스 권한을 요청하세요.
요구사항
- 최신 Google 모바일 광고 SDK
- Flutter 3.7.0 이상
- Android에 배포하기 위한 요건
- Android API 수준 21 이상
- iOS에 배포하기 위해
- 12.0 이상의 iOS 배포 대상
- Google 모바일 광고 SDK로 구성된 작동 중인 Flutter 프로젝트 자세한 내용은 시작하기를 참고하세요.
- 미디에이션을 완료합니다. 시작 가이드
1단계: Unity Ads UI에서 구성 설정
Unity Ads에 가입하거나 로그인합니다.
프로젝트 만들기
Unity Ads 대시보드에서 프로젝트로 이동한 후 프로젝트 만들기를 클릭합니다.
양식을 작성하고 프로젝트 만들기를 클릭하여 프로젝트를 추가합니다.
수익 창출 > 시작하기로 이동한 다음 시작하기를 클릭합니다.
프로젝트 설정 모달에서 미디에이션 파트너에 미디에이션을 사용할 계획입니다 및 Google AdMob을 선택하고 다음을 클릭합니다.
광고 설정을 선택하고 다음을 클릭합니다.
양식을 작성한 후 프로젝트 추가를 클릭합니다.
게임 ID를 기록해 둡니다.
광고 단위 만들기
수익 창출 > 광고 단위로 이동한 다음 광고 단위 추가를 클릭합니다.
광고 단위 이름을 입력한 다음 플랫폼과 광고 형식을 선택합니다.
Android
iOS
마지막으로 만들기를 클릭하여 광고 단위를 저장합니다.
게재위치 추가
입찰
입찰 게재위치를 만들려면 Google 계정 관리자에게 문의하세요.
폭포
프로젝트가 생성되면 수익 창출 > 게재위치로 이동합니다. 새 게재위치를 만들려면 광고 단위에서 게재위치 추가를 클릭합니다.
필요한 세부정보를 입력하고 게재위치 추가를 클릭합니다.
게재위치 ID를 기록해 둡니다.
Android
iOS
Unity Ads Reporting API 키 찾기
입찰
입찰 통합에는 이 단계가 필요하지 않습니다.
폭포
AdMob 광고 단위 ID를 설정하려면 게임 ID 및 게재위치 ID 외에도 Unity Ads API 키와 조직 핵심 ID가 필요합니다.
수익 창출 > 설정 > API 관리로 이동하여 수익 창출 통계 API 액세스 키를 기록합니다.
그런 다음 수익 창출 > 조직 설정으로 이동하여 조직 핵심 ID를 기록합니다.
테스트 모드 사용 설정
테스트 모드는 Unity Ads 대시보드에서 사용 설정할 수 있습니다. 프로젝트 설정에서 테스트 탭을 선택합니다.
각 플랫폼의 수정 버튼을 클릭하고 클라이언트 테스트 모드 재정의를 선택한 다음 모든 기기에서 테스트 모드 강제 사용(즉, 테스트 광고 사용)을 선택하여 앱의 테스트 모드를 강제 적용할 수 있습니다.
Android
iOS
또는 Add Test Device 버튼을 클릭하여 특정 기기의 테스트 모드를 사용 설정할 수 있습니다.
양식을 작성하고 저장을 클릭합니다.
2단계: AdMob UI에서 Unity Ads 수요 설정
광고 단위에 대한 미디에이션 설정 구성
GDPR 및 미국 주 규정 광고 파트너 목록에 Unity Ads 추가
GDPR 설정 및 미국 주 규정 설정 단계에 따라 AdMob UI의 GDPR 및 미국 주 규정 광고 파트너 목록에 Unity Ads를 추가하세요.
3단계: Unity Ads SDK 및 어댑터 가져오기
pub.dev를 통한 통합
다음 종속 항목을 최신 버전의
Unity Ads 패키지에 있는 SDK 및 어댑터
pubspec.yaml
파일:
dependencies:
gma_mediation_unity: ^1.0.0
수동 통합
Google 모바일 광고 미디에이션 플러그인 최신 버전 다운로드
Unity Ads,
다운로드한 파일을 추출하고 추출된 플러그인 폴더를 추가합니다.
(및 그 콘텐츠를) Flutter 프로젝트에 추가합니다. 그런 다음 다음 종속 항목을 추가하여 pubspec.yaml
파일에서 플러그인을 참조합니다.
dependencies:
gma_mediation_unity:
path: path/to/local/package
4단계: Unity Ads SDK에서 개인 정보 보호 설정 구현
EU 동의 및 GDPR
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의 개인 정보 보호 동의 및 데이터 API 및 GDPR 준수 가이드를 참고하세요.
미국 주 개인 정보 보호법
미국 주 개인 정보 보호법 에 따라 사용자에게 법률에 정의된 조항에 따라 '개인 정보'의 '판매'를 거부할 권리를 부여하며 '판매'하는 당사자의 홈페이지에 있는 눈에 잘 띄는 '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단계: 필수 코드 추가하기
Android
Unity Ads Android 통합에는 추가 코드가 필요하지 않습니다.
iOS
SKAdNetwork 통합
Unity Ads 문서에 따라 프로젝트의 Info.plist
파일에 SKAdNetwork 식별자를 추가합니다.
6단계: 구현 테스트
테스트 광고 사용 설정
AdMob 용 테스트 기기를 등록하고 Unity Ads UI에서 테스트 모드를 사용 설정해야 합니다.
테스트 광고 확인
Unity Ads에서 테스트 광고를 수신하고 있는지 확인하려면 광고 검사기에서 Unity Ads (Waterfall) 광고 소스를 사용하여 단일 광고 소스 테스트를 사용 설정하세요.
오류 코드
어댑터가 Unity Ads에서 광고를 수신하지 못하는 경우 게시자는 다음 클래스에서 ResponseInfo
를 사용하여 광고 응답의 기본 오류를 확인할 수 있습니다.
Android
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
iOS
GADMAdapterUnity
GADMediationAdapterUnity
다음은 광고를 로드하지 못했을 때 UnityAds 어댑터에서 발생하는 코드 및 함께 표시되는 메시지입니다.
Android
오류 코드 | 이유 |
---|---|
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 배너 관련 오류입니다. 자세한 내용은 코드를 참고하세요. |
iOS
0-9 | UnityAds SDK에서 오류를 반환했습니다. 자세한 내용은 Unity의 문서를 참조하세요. |
101 | AdMob UI에 구성된 UnityAds 서버 매개변수가 누락되었거나 잘못되었습니다. |
102 | UnityAds에서 지원하지 않는 기기입니다. |
103 | UnityAds가 오류 상태 kUnityAdsFinishStateError로 표시를 완료했습니다. |
104 | 초기화자를 호출한 후 Unity 광고 객체는 nil입니다. |
105 | 광고가 준비되지 않아 Unity 광고를 표시할 수 없습니다. |
106 | UnityAds에서 게재위치 상태 kUnityAds PlacementStateNoFill(으)로 게재위치 변경 콜백을 호출했습니다. |
107 | UnityAds가 게재위치 상태 kUnityAdsPlacementStateDisabled로 게재위치 변경 콜백을 호출했습니다. |
108 | 이 게재위치에 대한 광고가 이미 로드되었습니다. UnityAds SDK는 동일한 게재위치에 여러 광고 로드를 지원하지 않습니다. |
Unity 광고 Flutter 미디에이션 어댑터 변경 로그
버전 1.1.0
- Unity Android 어댑터 버전 4.12.3.0과의 호환성 확인
- Unity iOS 어댑터 버전 4.12.3.1과의 호환성 확인
- Google 모바일 광고 Flutter 플러그인 버전 5.2.0을 사용하여 빌드 및 테스트되었습니다.
버전 1.0.0
- 첫 출시입니다.
- Unity Android 어댑터 버전 4.10.0.0과의 호환성 확인
- Unity iOS 어댑터 버전 4.10.0.0과의 호환성 확인
- Google 모바일 광고 Flutter 플러그인 버전 5.0.0으로 빌드 및 테스트되었습니다.