An Ad Unit defines an ad placement and format in your app. For the DARO 2.0.1 SDK, copy the Ad Unit Key from the updated dashboard. This is different from the app’s Integration Key. API parameters such as
adUnitId, unitId, and key, and example placeholders such as YOUR_AD_UNIT_ID, keep their names but take that Ad Unit’s Ad Unit Key. Existing integrations using Ad Unit IDs remain supported. Do not confuse reporting or callback identifiers with the key for a new integration.Before You Begin
Check requirements before integration.Requirements
- Android minSdkVersion: 23
Verify app-ads.txt setup before proceeding.
Upgrading From an Earlier Version
Follow the Android migration guide to update the dashboard and remove legacy key files and app key settings first. Then integrate the DARO 2.0.1 SDK in the order below.Configure Your App
1
Project-level build configuration
- Add the repositories below to
settings.gradle.kts(Kotlin DSL) orsettings.gradle(Groovy DSL) in the project root. - If
dependencyResolutionManagementalready exists, add the repositories to itsrepositoriesblock.
2
Add the DARO plugin to build.gradle(root)
Add the DARO plugin to your
build.gradle(root) file.Set the DARO plugin version separately from
daro-sdk. When updating the plugin in an existing integration, change its classpath version in the root build.gradle as well.Latest version
- daro-plugin : 2.0.3
3
Apply the DARO plugin to build.gradle(app)
Apply the DARO plugin in
build.gradle(app).4
Declare DARO_INTEGRATION_KEY in AndroidManifest.xml
Declare the Integration Key inside
<application> in your app module’s src/main/AndroidManifest.xml.The Integration Key is issued per app and can be obtained from the DARO dashboard.
This example uses the same dashboard app for every build variant. Enter that app’s Integration Key as a literal value in the app module’s
src/main/AndroidManifest.xml. When setting DARO_INTEGRATION_KEY in the manifest, enter the actual key value instead of a ${...} placeholder.5
Update app-ads.txt
Follow the app-ads.txt guide and publish the latest content provided by the dashboard.
6
Add DARO SDK
Add the DARO SDK.
Latest version
- daro-sdk : 2.0.2
daro-sdkprovides Compose components, includingDaroBannerandDaroNative, in thedroom.daro.composepackage.- For a new integration, use these components without a separate
daro-compose-utildependency. Your app needs Compose runtime 1.7.0 or later. - If you previously used
so.daro:daro-compose-util, remove that dependency and use the Compose components provided bydaro-sdk. You can keep your existing imports.
If a Release build fails with a SafeDK error
If a Configuration Cache serialization error occurs
Use the following steps if a Release build with Configuration Cache enabled fails while storing the cache, and the error log names asafedkAdjustInputs... or safedkInstrumentation... task with messages such as:
-
Update the
daro-pluginversion in the rootbuild.gradleclasspath to 2.0.3 or later. You can keep yourdaro-sdkversion. -
Add the following setting to the project’s root
gradle.properties.gradle.properties - Run the failed Release build again and check the result. If errors remain in other tasks, investigate those errors separately.
false after verifying a compatible vendor fix in that app environment.
If Manifest serialization still fails after enabling the option
Ifdaro-plugin 2.0.1 still fails on a process<Variant>Manifest task after you enable the option, and the error mentions com.safedk.gradleplugin.configurators.ManifestConfigurator and ReferenceQueue serialization, update the plugin to 2.0.3 or later, keep daro.safedkConfigurationCacheWorkaround=true, and run the same Release build again. Starting with 2.0.2, this option also covers the processing that SafeDK adds to Manifest tasks.
If you cannot update immediately, add --no-configuration-cache to the failed Release build command and run it again. For example, use this command when the app module is named app and the build variant is release:
If a Release build fails because build_info.json cannot be found
Update the plugin if a Release build restores the build output cache (Build Cache) after clean and fails with the following error:
-
Update the
daro-pluginversion in the rootbuild.gradleclasspath to 2.0.3 or later.kotlin - Run the failed Release build again and check the result.
daro-sdk version. If you already use daro.safedkConfigurationCacheWorkaround=true to bypass a Configuration Cache error, keep it after updating. Adding only this option without updating the plugin does not fix the Build Cache restoration error.
The SDK includes consumer obfuscation rules that Gradle applies automatically. You do not need to copy them into your project.
Initialize SDK
App Mute Setting
For app open, banner, interstitial, rewarded, rewarded interstitial, and native ad formats, you can use thesetAppMuted(...) method to inform the DARO SDK that the app volume has been muted.

