Skip to main content
애드유닛은 앱에서 광고를 표시할 지면과 광고 포맷을 설정한 단위입니다. 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가 설치된 빌드 환경
app-ads.txt 설정도 완료해주세요.
플랫폼별 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.0이며, EDM4U [email protected]을 사용합니다.설치 중 Unity가 Importing a scoped registry 알림을 띄웁니다. OpenUPM 레지스트리가 추가됐다는 Unity 자체 안내이므로 Close를 누르면 됩니다.
4

Integration Manager 실행하기

Unity Editor 메뉴 막대에서 Daro > Integration Manager를 열고 프로젝트 설정을 검증합니다. Daro는 Assets 아래가 아니라 최상위 메뉴입니다.
Installer는 Unity 프로젝트의 Packages/manifest.json에 OpenUPM registry를 추가하고 [email protected] 설치를 시작합니다.

프로젝트 설정하기

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.gradle
  • Assets/Plugins/Android/gradleTemplate.properties
  • Assets/Plugins/Android/settingsTemplate.gradle
Disable을 선택했다면 위 세 파일이 만들어지지 않습니다. 그 경우 Edit > Project Settings > Player > Android > Publishing Settings > Build에서 Custom Main Gradle Template · Custom Gradle Properties Template · Custom Gradle Settings Template을 직접 켜고, 의존성이 바뀔 때마다 Assets > External Dependency Manager > Android Resolver > Resolve를 손으로 돌려야 합니다. 해석하지 않으면 앱이 동작하지 않습니다.자동 해석은 Assets > External Dependency Manager > Android Resolver > Settings에서 다시 켤 수 있습니다.
Android 빌드 시 DARO Unity SDK가 필요한 Gradle 플러그인, 최소 SDK 설정, ProGuard 규칙을 내보낸 프로젝트에 적용합니다.
5

설정 검증

Integration Manager의 빌드 검증(Build Validation)에서 검사 실행(Run Checks)을 누릅니다.
검사는 현재 빌드 타겟만 봅니다. 빌드 타겟이 Standalone(Windows, Mac, Linux)이면 iOS·Android 검사가 아예 돌지 않아 INTEGRATION KEY가 비어 있어도 통과합니다. File > Build Settings에서 Android나 iOS로 전환한 뒤 실행하세요.
Unity 6000.3.17f1 이상에서 Android 빌드를 하는 경우 Assets/Plugins/Android/gradleTemplate.properties에 다음 설정을 추가하세요.
일부 의존성의 호환성을 위해 필요한 설정입니다.
Integration Manager의 AI 통합 헬퍼(AI Integration Helper)를 켜면 Claude Code · Codex · Cursor · Cline 같은 AI 코딩 에이전트가 세션을 시작할 때 SDK의 integration knowledge base를 자동으로 참조합니다. 연동을 에이전트에게 맡기는 경우에만 켜면 됩니다.
INTEGRATION KEY는 InitializeAsync()의 인자로 전달하지 않습니다. Unity 빌드 시점에 iOS는 Info.plist로, Android는 gradle.properties로 주입됩니다.
0.4.0 이하에서 업데이트하는 경우, 기존 Settings 에셋의 연동 설정을 Integration Key로 변경하세요. DARO 대시보드에서 발급한 키를 iOS와 Android의 각 INTEGRATION KEY 항목에 입력합니다.

iOS 빌드 설정 확인

EDM4U의 iOS Resolver에서 Podfile 생성을 활성화하세요. 생성된 프로젝트에서 CocoaPods 설치까지 완료해야 연동 설정이 적용됩니다. 기존 post_install 블록을 직접 관리한다면 DARO 설정이 포함되어 있는지 확인하고, 같은 블록을 중복 선언하지 마세요.

SDK 초기화하기

앱 시작 시점에 DaroSdk.InitializeAsync()를 호출합니다.
개인정보 보호 설정과 사용자 ID는 SDK 초기화 전에도 설정할 수 있습니다.

음소거와 로그 설정

0.5.0-rc.4에서는 Android와 iOS 모두 초기화 전에 음소거를 설정할 수 있습니다. Unity 메인 스레드에서 호출하세요.
초기화 전이나 진행 중 여러 번 설정하면 마지막 음소거 값이 적용됩니다. 음소거 적용 후 OnSdkInitialized 이벤트와 초기화 Task가 완료됩니다. 초기화 후에는 SetAppMuted(false)로 해제할 수 있습니다. iOS에서는 기본 Info 설정이 네이티브 SDK의 오류 로그만 활성화합니다. DaroRewardedAd.IsReady()를 반복 조회해도 네이티브 debug 로그가 쌓이지 않습니다. 상세 진단이 필요할 때만 DaroSdk.LogLevel = DaroLogLevel.Verbose를 사용하고, 확인 후 Info로 되돌리세요. Unity 및 브리지의 로그 단계는 유지되며, 개별 광고 디맨드가 직접 출력하는 로그까지 모두 제거하는 설정은 아닙니다.

광고 인스턴스 사용 흐름

전체 화면 광고 인스턴스는 다음 순서로 사용합니다.
  1. await DaroSdk.InitializeAsync()를 완료합니다.
  2. 광고 인스턴스를 생성합니다.
  3. 이벤트 핸들러를 등록합니다.
  4. Load()를 호출합니다.
  5. 로드 완료 후 IsReady()를 확인하고 Show()를 호출합니다.
  6. 화면이 사라질 때 Dispose()를 호출합니다.
배너 광고는 Load()가 성공하면 자동으로 표시됩니다. Show()는 Hide() 후 배너를 다시 표시할 때만 사용하세요.

베스트 프랙티스

광고 인스턴스 다루기

  1. 초기화가 끝난 뒤에 광고 인스턴스를 만듭니다
    • await DaroSdk.InitializeAsync()가 반환된 다음 생성자와 Load()를 호출하세요
  2. 공개 메서드는 Unity 메인 스레드에서 호출합니다
    • 생성자와 Load(), Show(), Hide(), Dispose()가 모두 해당합니다. SDK 콜백도 Unity 메인 스레드로 전달됩니다
  3. 필요 없어진 인스턴스는 Dispose()로 정리합니다
    • SDK가 finalizer 기반 정리를 보조 수단으로 제공하지만, 정리 시점은 보장되지 않습니다
  4. Show() 전에 IsReady()를 확인합니다
    • 배너 광고는 Load()가 성공하면 자동으로 표시되므로 예외입니다. Show()는 Hide() 후 다시 표시할 때만 사용하세요

다음 단계

연동과 초기화를 완료했다면 사용할 광고 포맷의 구현 문서로 이동하세요. 노출 단위 수익을 받으려면 ILRD 사용하기를 참고하세요.