이 가이드에서는 Google 모바일 광고 SDK를 사용하여 미디에이션을 통해 Unity Ads의 광고를 로드하고 표시하는 방법을 설명합니다. 폭포식 구조 통합도 다룹니다. 광고 단위의 미디에이션 구성에 Unity Ads를 추가하는 방법과 Unity Ads SDK 및 어댑터를 Flutter 앱에 통합하는 방법을 다룹니다.
지원되는 통합 및 광고 형식
Unity Ads용 AdMob 미디에이션 어댑터의 기능은 다음과 같습니다.
통합 | |
---|---|
입찰 | 1 |
폭포 | |
형식 | |
배너 | |
전면 광고 | |
리워드 제공됨 |
1 입찰 통합은 비공개 베타 버전으로 제공됩니다. 계정 관리자에게 문의하여 액세스 권한을 요청하세요.
요구사항
- 최신 Google 모바일 광고 SDK
- Flutter 3.7.0 이상
- Android에 배포하기 위해
- Android API 수준 21 이상
- iOS에 배포하기 위해
- iOS 배포 타겟 12.0 이상
- Google 모바일 광고 SDK로 구성된 작동하는 Flutter 프로젝트 자세한 내용은 시작하기를 참고하세요.
- 미디에이션 시작 가이드 완료
1단계: Unity Ads UI에서 구성 설정
Unity Ads에 가입하거나 로그인합니다.
프로젝트 만들기
Unity Ads 대시보드에서 프로젝트로 이동한 후 프로젝트 만들기를 클릭합니다.
양식을 작성하고 프로젝트 만들기를 클릭하여 프로젝트를 추가합니다.
수익 창출 > 시작하기로 이동한 다음 시작하기를 클릭합니다.
Project Setup(프로젝트 설정) 모달에서 I plan to use Mediation(미디에이션을 사용할 예정입니다)을 선택하고 Mediation Partner(미디에이션 파트너)에 Google Admob을 선택한 다음 Next(다음)를 클릭합니다.
광고 설정을 선택한 다음 다음을 클릭합니다.
양식을 작성한 후 프로젝트 추가를 클릭합니다.
게임 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
또는 테스트 기기 추가 버튼을 클릭하여 특정 기기에 테스트 모드를 사용 설정할 수 있습니다.
양식을 작성하고 저장을 클릭합니다.
2단계: AdMob UI에서 Unity Ads 수요 설정
광고 단위에 대한 미디에이션 설정 구성
GDPR 및 미국 주 규정 광고 파트너 목록에 Unity Ads 추가
GDPR 설정 및 미국 주 규정 설정의 단계에 따라 AdMob UI의 GDPR 및 미국 주 규정 광고 파트너 목록에 Unity Ads를 추가합니다.
3단계: Unity Ads SDK 및 어댑터 가져오기
pub.dev를 통한 통합
패키지의 pubspec.yaml
파일에 최신 버전의Unity Ads SDK 및 어댑터와 함께 다음 종속 항목을 추가합니다.
dependencies:
gma_mediation_unity: ^1.0.0
수동 통합
Unity Ads용 Google 모바일 광고 미디에이션 플러그인의 최신 버전을 다운로드하고, 다운로드한 파일을 추출한 후 추출된 플러그인 폴더(및 콘텐츠)를 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(입찰) 및 Unity Ads(폭포식 구조) 광고 소스를 사용하여 단일 광고 소스 테스트를 사용 설정하세요.
오류 코드
어댑터가 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에서 사용 중지된 상태의 게재위치를 반환했습니다. |
104 | UnityAds에서 null 컨텍스트로 광고를 표시하려고 했습니다. |
105 | Unity Ads에서 광고를 초기화, 로드 또는 표시하는 데 사용되는 컨텍스트는 Activity 인스턴스가 아닙니다. |
106 | UnityAds에서 게재할 준비가 되지 않은 광고를 게재하려고 했습니다. |
107 | UnityAds는 기기에서 지원되지 않습니다. |
108 | UnityAds는 한 번에 게재위치당 광고 1개만 로드할 수 있습니다. |
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가 게재위치 상태 kUnityAdsPlacementStateNoFill로 게재위치 변경 콜백을 호출했습니다. |
107 | UnityAds가 게재위치 상태 kUnityAdsPlacementStateDisabled로 게재위치 변경 콜백을 호출했습니다. |
108 | 이 게재위치에 대한 광고가 이미 로드되었습니다. UnityAds SDK는 동일한 게재위치에 여러 광고 로드를 지원하지 않습니다. |
Unity Ads 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으로 빌드 및 테스트되었습니다.