애드유닛은 앱에서 광고를 표시할 지면과 광고 포맷을 설정한 단위입니다. 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 파일 설정(링크)이 잘 되었는지 다시 한 번 확인해주세요.
기존 버전에서 업그레이드하는 경우
먼저 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... 작업과 함께 다음과 같은 메시지가 표시되는 경우에 적용하세요.
-
루트
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 빌드 시 자동으로 적용됩니다. 별도로 복사할 필요가 없습니다.
SDK 초기화하기
앱 음소거 설정
앱 오프닝, 배너, 인터스티셜 광고, 리워드 비디오 광고, 리워드 인터스티셜 광고, 네이티브 광고 포맷의 경우setAppMuted(...) 메서드를 사용하여 앱 볼륨이 음소거되었음을 DARO SDK에 알릴 수 있습니다.

