애드유닛은 앱에서 광고를 표시할 지면과 광고 포맷을 설정한 단위입니다. DARO 2.0 SDK에는 업데이트된 대시보드의 Ad Unit Key를 복사해 입력하세요. 앱 설정에 쓰는 Integration Key와는 다른 값입니다. API 인자
adUnitId, unitId, key와 예제의 YOUR_AD_UNIT_ID는 이름을 그대로 사용하지만, 입력할 값은 해당 애드유닛의 Ad Unit Key입니다. 기존 애드유닛 ID를 사용한 연동도 계속 지원합니다. 리포트·콜백의 식별자를 새 연동용 키와 혼동하지 마세요.시작하기 전에
Unity 프로젝트에 DARO Unity SDK를 설치하기 전에 다음 항목을 준비하세요.- DARO 대시보드에서 발급한 플랫폼별 Integration Key
- 사용할 광고 포맷별 Ad Unit Key
- Unity 2021.3 LTS 이상
- Android Build Support 또는 iOS Build Support가 설치된 빌드 환경
플랫폼별 Integration Key로 SDK를 설정합니다. 별도의 앱 키나 키 파일을 입력할 필요가 없습니다.
SDK 설치하기
권장 설치 방법은DaroPackageInstaller.unitypackage를 사용하는 것입니다.
1
Installer 패키지 가져오기
GitHub Release에서
DaroPackageInstaller.unitypackage 파일을 다운로드합니다.2
Unity 프로젝트에 import하기
Unity Editor에서 Assets > Import Package > Custom Package를 선택한 뒤
DaroPackageInstaller.unitypackage를 import합니다.3
패키지 설치 확인하기
Installer가
Packages/manifest.json에 OpenUPM scoped registry, EDM4U, so.daro.unity 의존성을 추가합니다.so.daro.unity 최신 패키지 버전은 1.0.1이며, EDM4U [email protected]을 사용합니다.설치 중 Unity가 Importing a scoped registry 알림을 띄웁니다. OpenUPM 레지스트리가 추가됐다는 Unity 자체 안내이므로 Close를 누르면 됩니다.4
Integration Manager 실행하기
Unity Editor 메뉴 막대에서 Daro > Integration Manager를 열고 프로젝트 설정을 검증합니다.
Daro는 Assets 아래가 아니라 최상위 메뉴입니다.프로젝트 설정하기
Unity Editor에서 Daro > Integration Manager를 열고 플랫폼별 설정을 입력합니다.창 위쪽 드롭다운으로 표시 언어를 English / Korean 중에 고를 수 있습니다. 기본값은 English이고, 선택은 프로젝트가 아니라 Editor 설정에 저장되므로 같은 머신의 다른 프로젝트에도 그대로 적용됩니다. 아래 라벨은 한국어 기준이며 괄호 안이 영문 라벨입니다.
1
Settings 에셋 생성
Integration Manager에서 Settings 에셋 생성(Create Settings Asset)을 선택합니다.
Assets/Daro/DaroSettings.asset이 만들어집니다.2
iOS 설정 입력
iOS 빌드를 사용하는 경우 설정(Settings) 아래 iOS 구역의
INTEGRATION KEY에 iOS용 키를 입력합니다. App Tracking Transparency 안내 문구는 ATT 설명(ATT Description)에 입력합니다.입력한 뒤 키 검증(Validate Key)을 눌러 키 형식을 확인하세요. 설정을 완료한 후 실제 앱 빌드와 SDK 초기화도 확인해야 합니다.3
Android 설정 입력
Android 빌드를 사용하는 경우 Android 구역의
INTEGRATION KEY에 Android용 키를 입력하고 키 검증(Validate Key)으로 형식을 확인합니다.4
Android 빌드 템플릿 확인하기
빌드 타겟을 Android로 전환하면 EDM4U가 **
Enable Android Auto-resolution?**을 묻습니다. Enable을 선택하세요.자동 해석이 켜져 있으면 EDM4U가 광고 디맨드 의존성을 해석하면서 아래 세 파일을 직접 만들고 Player Settings의 템플릿 옵션도 켭니다. 손으로 켤 필요가 없습니다.Assets/Plugins/Android/mainTemplate.gradleAssets/Plugins/Android/gradleTemplate.propertiesAssets/Plugins/Android/settingsTemplate.gradle
5
설정 검증
Integration Manager의 빌드 검증(Build Validation)에서
검사 실행(Run Checks)을 누릅니다.SafeDK 빌드 오류 해결
Android Release 빌드가safedk* 또는 process...Manifest 태스크에서 Configuration Cache 오류로 실패하면 so.daro.unity를 1.0.1 이상으로 업데이트하세요.
- Daro > Integration Manager를 엽니다.
- Android > SafeDK Configuration Cache 우회에서 사용을 선택합니다.
- Android 프로젝트를 다시 내보내거나 빌드합니다.
gradle.properties에 daro.safedkConfigurationCacheWorkaround=true가 생성됩니다.
사용 안함은 false를 기록합니다. 기본값인 기존 설정 유지는 기존 Gradle 값을 보존하므로, 이전에 사용을 선택한 뒤 이 항목으로 바꿔도 우회 옵션이 자동으로 꺼지지는 않습니다. 끄려면 사용 안함을 선택하세요. iOS 설정에는 영향을 주지 않습니다.
Gradle 설정을 직접 확인해야 한다면 Android 시작하기의 SafeDK 오류 해결을 참고하세요.
iOS 빌드 설정 확인
EDM4U의 iOS Resolver에서 Podfile 생성을 활성화하세요. 생성된 프로젝트에서 CocoaPods 설치까지 완료해야 연동 설정이 적용됩니다. 기존post_install 블록을 직접 관리한다면 DARO 설정이 포함되어 있는지 확인하고, 같은 블록을 중복 선언하지 마세요.
SDK 초기화하기
앱 시작 시점에DaroSdk.InitializeAsync()를 호출합니다.
음소거와 로그 설정
0.5.0-rc.4에서는 Android와 iOS 모두 초기화 전에 음소거를 설정할 수 있습니다. Unity 메인 스레드에서 호출하세요.
OnSdkInitialized 이벤트와 초기화 Task가 완료됩니다. 초기화 후에는 SetAppMuted(false)로 해제할 수 있습니다.
iOS에서는 기본 Info 설정이 네이티브 SDK의 오류 로그만 활성화합니다. DaroRewardedAd.IsReady()를 반복 조회해도 네이티브 debug 로그가 쌓이지 않습니다. 상세 진단이 필요할 때만 DaroSdk.LogLevel = DaroLogLevel.Verbose를 사용하고, 확인 후 Info로 되돌리세요. Unity 및 브리지의 로그 단계는 유지되며, 개별 광고 디맨드가 직접 출력하는 로그까지 모두 제거하는 설정은 아닙니다.
광고 인스턴스 사용 흐름
전체 화면 광고 인스턴스는 다음 순서로 사용합니다.await DaroSdk.InitializeAsync()를 완료합니다.- 광고 인스턴스를 생성합니다.
- 이벤트 핸들러를 등록합니다.
Load()를 호출합니다.- 로드 완료 후
IsReady()를 확인하고Show()를 호출합니다. - 화면이 사라질 때
Dispose()를 호출합니다.
Load()가 성공하면 자동으로 표시됩니다. Show()는 Hide() 후 배너를 다시 표시할 때만 사용하세요.
베스트 프랙티스
광고 인스턴스 다루기
- 초기화가 끝난 뒤에 광고 인스턴스를 만듭니다
await DaroSdk.InitializeAsync()가 반환된 다음 생성자와Load()를 호출하세요
- 공개 메서드는 Unity 메인 스레드에서 호출합니다
- 생성자와
Load(),Show(),Hide(),Dispose()가 모두 해당합니다. SDK 콜백도 Unity 메인 스레드로 전달됩니다
- 생성자와
- 필요 없어진 인스턴스는
Dispose()로 정리합니다- SDK가 finalizer 기반 정리를 보조 수단으로 제공하지만, 정리 시점은 보장되지 않습니다
Show()전에IsReady()를 확인합니다- 배너 광고는
Load()가 성공하면 자동으로 표시되므로 예외입니다.Show()는Hide()후 다시 표시할 때만 사용하세요
- 배너 광고는

