Skip to main content
애드유닛은 앱에서 광고를 표시할 지면과 광고 포맷을 설정한 단위입니다. DARO 2.0.1 SDK에는 업데이트된 대시보드의 Ad Unit Key를 복사해 입력하세요. 앱 설정에 쓰는 Integration Key와는 다른 값입니다. API 인자 adUnitId, unitId, key와 예제의 YOUR_AD_UNIT_ID는 이름을 그대로 사용하지만, 입력할 값은 해당 애드유닛의 Ad Unit Key입니다. 기존 애드유닛 ID를 사용한 연동도 계속 지원합니다. 리포트·콜백의 식별자를 새 연동용 키와 혼동하지 마세요.

시작하기 전에

프로젝트에 DARO SDK를 통합하기 전에 필요한 사항들을 확인하세요.

요구사항

  • 안드로이드 minSdkVersion : 23
app-ads.txt 파일 설정(링크)이 잘 되었는지 다시 한 번 확인해주세요.
minSdk 26 미만일 경우 Desugaring 설정을 필요로 합니다.

기존 버전에서 업그레이드하는 경우

먼저 Android 마이그레이션 가이드에 따라 대시보드를 업데이트하고 기존 키 파일과 앱 키 설정을 제거하세요. 그다음 아래 순서로 DARO 2.0.1 SDK를 연동하세요.

앱 설정하기

1

프로젝트 단위 빌드 설정

  • 프로젝트 루트의 settings.gradle.kts(Kotlin DSL) 또는 settings.gradle(Groovy DSL)에 아래 저장소를 추가하세요.
  • 이미 dependencyResolutionManagement 블록이 있다면 그 안의 repositories에 추가하세요.
2

build.gradle(root)에 daro 플러그인 추가

build.gradle(root) 파일에 daro 플러그인을 추가합니다.
DARO 플러그인은 daro-sdk와 별도로 버전을 지정합니다. 기존 연동에서 플러그인을 업데이트할 때도 루트 build.gradle의 classpath 버전을 변경하세요.
Latest version
  • daro-plugin : 2.0.3
3

build.gradle(app)에 daro plugin 적용

build.gradle(app)에 daro plugin을 적용합니다.
4

AndroidManifest.xml에 DARO_INTEGRATION_KEY 선언

앱 모듈의 src/main/AndroidManifest.xml에서 <application> 안에 Integration Key를 선언합니다.
Integration Key는 DARO 대시보드에서 앱 단위로 발급받을 수 있습니다.
이 예제는 모든 빌드 변형에서 같은 앱을 사용하는 설정입니다. 앱 모듈의 src/main/AndroidManifest.xml에 해당 앱의 Integration Key를 실제 값으로 입력하세요. DARO_INTEGRATION_KEY를 매니페스트에 설정할 때는 ${...} 형태의 placeholder 대신 실제 키 값을 입력하세요.
5

app-ads.txt 업데이트

app-ads.txt 설정 가이드에 따라 대시보드에서 제공하는 최신 내용을 반영하세요.
6

DARO SDK 추가

DARO SDK를 추가합니다.
Latest version
  • daro-sdk : 2.0.2
  • daro-sdk는 droom.daro.compose 패키지의 DaroBanner, DaroNative 등 Compose 컴포넌트를 제공합니다.
  • 처음 연동하는 경우 별도의 daro-compose-util 의존성 없이 바로 사용할 수 있습니다. 앱에는 Compose 런타임 1.7.0 이상이 필요합니다.
  • 기존에 so.daro:daro-compose-util을 사용했다면 해당 의존성을 제거하고 daro-sdk에서 제공하는 Compose 컴포넌트를 사용하세요. 기존 import는 그대로 유지할 수 있습니다.

SafeDK 오류로 Release 빌드가 실패하는 경우

Configuration Cache 직렬화 오류가 발생하는 경우

Configuration Cache를 사용하는 Release 빌드가 캐시 저장 단계에서 실패하고, 오류 로그에 safedkAdjustInputs... 또는 safedkInstrumentation... 작업과 함께 다음과 같은 메시지가 표시되는 경우에 적용하세요.
이 오류가 발생하면 다음 순서로 SafeDK 작업의 Configuration Cache 사용을 우회할 수 있습니다.
  1. 루트 build.gradle의 classpath에 지정한 daro-plugin 버전을 2.0.3 이상으로 업데이트하세요. daro-sdk 버전은 변경하지 않아도 됩니다.
  2. 프로젝트 루트의 gradle.properties에 다음 설정을 추가하세요.
    gradle.properties
  3. 실패했던 Release 빌드를 다시 실행해 결과를 확인하세요. 다른 작업의 오류가 남아 있다면 해당 오류도 별도로 확인해야 합니다.
이 설정은 SafeDK 기능과 작업을 유지하면서 해당 작업이 포함된 빌드의 Configuration Cache 저장·재사용을 막습니다. 다음 빌드에서 설정 단계가 다시 실행되어 설정 시간이 늘어날 수 있으며, Gradle의 빌드 출력 캐시와는 별개입니다.
오류가 발생하지 않는 프로젝트는 이 옵션을 켤 필요가 없습니다. 기본값은 비활성화이며, 공급사의 호환 수정본을 해당 앱 환경에서 검증한 뒤 옵션을 제거하거나 false로 되돌리세요.

옵션을 켠 뒤에도 Manifest 직렬화 오류가 발생하는 경우

daro-plugin 2.0.1에서 위 옵션을 켰는데도 process<Variant>Manifest 작업이 실패하고, 오류에 com.safedk.gradleplugin.configurators.ManifestConfigurator와 ReferenceQueue 직렬화 문제가 표시된다면 플러그인을 2.0.3 이상으로 업데이트하고 daro.safedkConfigurationCacheWorkaround=true 설정을 유지한 뒤 같은 Release 빌드를 다시 실행하세요. 2.0.2부터는 이 옵션이 SafeDK가 Manifest 작업에 추가한 처리에도 적용됩니다. 즉시 업데이트하기 어려운 경우에는 실패했던 Release 빌드 명령에 --no-configuration-cache를 추가해 다시 실행하세요. 예를 들어 앱 모듈 이름이 app이고 빌드 variant가 release라면 다음 명령을 사용합니다.
모듈이나 flavor가 다르면 기존 Release 작업 이름을 그대로 사용하세요. 이 옵션은 해당 실행의 Configuration Cache를 끄며, SafeDK 작업은 그대로 실행합니다. 빌드 출력 캐시는 별도로 유지됩니다. 같은 오류가 계속되면 실패한 작업 이름과 오류 로그를 DARO에 전달하세요.

build_info.json 파일을 찾을 수 없어 Release 빌드가 실패하는 경우

clean 후 빌드 출력 캐시(Build Cache)를 복원하는 Release 빌드에서 다음 오류가 발생한다면 플러그인을 업데이트하세요.
  1. 루트 build.gradle의 classpath에 지정한 daro-plugin 버전을 2.0.3 이상으로 업데이트하세요.
    kotlin
  2. 실패했던 Release 빌드를 다시 실행해 결과를 확인하세요.
이 오류에 대한 대응은 플러그인 업데이트로 자동 적용됩니다. 별도 옵션을 추가하거나 daro-sdk 버전을 변경할 필요는 없습니다. Configuration Cache 오류를 우회하기 위해 이미 daro.safedkConfigurationCacheWorkaround=true를 사용 중이라면 업데이트 후에도 유지하세요. 이 옵션만 추가하고 플러그인 버전을 그대로 두면 Build Cache 복원 오류는 해결되지 않습니다.
SDK에 포함된 난독화 규칙은 Gradle 빌드 시 자동으로 적용됩니다. 별도로 복사할 필요가 없습니다.

SDK 초기화하기

중요: SDK 초기화 후 광고 로드
  • 광고를 로드하기 전에 Daro.init()를 호출하여 광고 SDK를 초기화합니다.
  • 초기화 전 광고를 요청하면 광고가 정상적으로 표시되지 않을 수 있습니다.
setDebugMode(true)는 테스트 빌드에서만 사용하세요. 운영 빌드에서는 반드시 false로 설정하세요.

앱 음소거 설정

앱 오프닝, 배너, 인터스티셜 광고, 리워드 비디오 광고, 리워드 인터스티셜 광고, 네이티브 광고 포맷의 경우 setAppMuted(...) 메서드를 사용하여 앱 볼륨이 음소거되었음을 DARO SDK에 알릴 수 있습니다.
네이티브 광고는 로드 시점의 음소거 상태를 동영상 재생에 적용하므로, 네이티브 광고를 로드하기 전에 setAppMuted를 호출하세요.
앱 음소거 사용 시 주의사항앱 음소거 설정 시 음소거 상태에서 재생이 불가한 일부 동영상 광고 소재가 요청에서 제외될 수 있어, 광고 풀이 소폭 감소하고 수익에 영향을 줄 수 있습니다.