광고 단위(Ad Unit)는 앱의 광고 지면과 포맷을 정의합니다. 업데이트된 대시보드에서 해당 광고 단위의 Ad Unit Key를 복사해 생성자의
adUnitKey에 넣으세요. 예제의 YOUR_AD_UNIT_KEY는 이 값을 넣는 자리입니다. 앱 단위의 Integration Key와는 다른 값입니다. 기존 Ad Unit ID(UUID)도 계속 입력할 수 있습니다.시작하기 전에
프로젝트에 DARO SDK를 통합하기 전에 필요한 사항들을 확인하세요.요구사항
- 안드로이드 minSdkVersion : 23
app-ads.txt 파일 설정(링크)이 잘 되었는지 다시 한 번 확인해주세요.
기존 버전에서 업그레이드하는 경우
먼저 Android 마이그레이션 가이드에 따라 대시보드를 업데이트하고 기존 키 파일과 앱 키 설정을 제거하세요. 그다음 아래 순서로 DARO 2.0.9 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.5
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 대시보드에서 앱 단위로 발급받을 수 있습니다.
이 예제는 모든 빌드 변형에서 같은 DARO 앱을 사용하는 설정입니다. flavor나 buildType에 따라 다른 앱을 쓴다면 빌드 변형마다 다른 Integration Key 사용하기를 참고하세요.
5
app-ads.txt 업데이트
app-ads.txt 설정 가이드에 따라 대시보드에서 제공하는 최신 내용을 반영하세요.
6
DARO SDK 추가
DARO SDK를 추가합니다.
Latest version
- daro-sdk : 2.0.9
daro-sdk는droom.daro.compose패키지의DaroBanner,DaroNative등 Compose 컴포넌트를 제공합니다.- 처음 연동하는 경우 별도의
daro-compose-util의존성 없이 바로 사용할 수 있습니다. 앱에는 Compose 런타임 1.7.0 이상이 필요합니다. - 기존에
so.daro:daro-compose-util을 사용했다면 해당 의존성을 제거하고daro-sdk에서 제공하는 Compose 컴포넌트를 사용하세요. 기존 import는 그대로 유지할 수 있습니다.
SDK 초기화하기
앱 음소거 설정
앱 오프닝, 배너, 인터스티셜 광고, 리워드 비디오 광고, 리워드 인터스티셜 광고, 네이티브 광고 포맷의 경우setAppMuted(...) 메서드를 사용하여 앱 볼륨이 음소거되었음을 DARO SDK에 알릴 수 있습니다.
고급 설정
빌드 변형마다 다른 Integration Key 사용하기
daro-plugin 2.0.4 이상은 Integration Key를 빌드 변형마다 해석합니다. flavor나 buildType에 따라 다른 DARO 앱을 쓰는 경우 아래 두 방식 중 하나로 빌드 변형별 키를 선언하세요.
방식 A. 소스셋 매니페스트에 선언
src/<flavor>/AndroidManifest.xml또는src/<buildType>/AndroidManifest.xml의<application>안에DARO_INTEGRATION_KEY를 선언합니다.- 이 방식을 쓰면
src/main/AndroidManifest.xml의DARO_INTEGRATION_KEY는 지우세요.
방식 B. manifestPlaceholders로 선언
- 매니페스트에는
${daroIntegrationKey}플레이스홀더만 둡니다. - 값은
build.gradle(app)의productFlavors또는buildTypes에서 지정합니다.
src/main/AndroidManifest.xml
문제 해결
SafeDK 오류로 Release 빌드가 실패하는 경우
Configuration Cache 직렬화 오류가 발생하는 경우
Configuration Cache를 사용하는 Release 빌드가 캐시 저장 단계에서 실패하고, 오류 로그에safedkAdjustInputs... 또는 safedkInstrumentation... 작업과 함께 다음과 같은 메시지가 표시되는 경우에 적용하세요.
-
루트
build.gradle의classpath에 지정한daro-plugin버전을 2.0.3 이상으로 업데이트하세요.daro-sdk버전은 변경하지 않아도 됩니다. -
프로젝트 루트의
gradle.properties에 다음 설정을 추가하세요.gradle.properties - 실패했던 Release 빌드를 다시 실행해 결과를 확인하세요. 다른 작업의 오류가 남아 있다면 해당 오류도 별도로 확인해야 합니다.
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라면 다음 명령을 사용합니다.
build_info.json 파일을 찾을 수 없어 Release 빌드가 실패하는 경우
clean 후 빌드 출력 캐시(Build Cache)를 복원하는 Release 빌드에서 다음 오류가 발생한다면 플러그인을 업데이트하세요.
-
루트
build.gradle의classpath에 지정한daro-plugin버전을 2.0.3 이상으로 업데이트하세요.kotlin - 실패했던 Release 빌드를 다시 실행해 결과를 확인하세요.
daro-sdk 버전을 변경할 필요는 없습니다. Configuration Cache 오류를 우회하기 위해 이미 daro.safedkConfigurationCacheWorkaround=true를 사용 중이라면 업데이트 후에도 유지하세요. 이 옵션만 추가하고 플러그인 버전을 그대로 두면 Build Cache 복원 오류는 해결되지 않습니다.
SDK에 포함된 난독화 규칙은 Gradle 빌드 시 자동으로 적용됩니다. 별도로 복사할 필요가 없습니다.

