App Open Ad Format
App open ads are full-screen ad format that can be used at the following moments:- Display ads during app launch loading screen
- Display ads when app transitions from background to foreground

Integrating Ads
1
Create adUnit
Configure your ad unit using the
ad unit ID issued from the dashboard.Copy
Ask AI
val adUnit = DaroAppOpenAdUnit(
unitId = ${AdUnitId},
placement = ${placement}, // Name displayed in logs. Can be left empty.
)
2
Create Loader and load ad
Create an ad loader, set up listeners, and load the ad.
Copy
Ask AI
val loader = DaroAppOpenAdLoader(
context = context,
adUnit = adUnit
)
loader.setListener(object : DaroAppOpenAdLoaderListener {
override fun onAdLoadSuccess(ad: DaroAppOpenAd, adInfo: DaroAdInfo) {
// Ad loaded successfully
daroAppOpenAd = ad
setupAdListeners(ad)
}
override fun onAdLoadFail(error: DaroLoadError) {
// Ad failed to load
...
}
})
// Load ad
loader.loadAd()
3
Set listener and show ad
Set up display listeners for the loaded ad and show it.
Copy
Ask AI
private var daroAppOpenAd: DaroAppOpenAd? = null
private fun setupAdListeners(ad: DaroAppOpenAd) {
ad.setListener(object : DaroAppOpenAdListener {
override fun onAdImpression(adInfo: DaroAdInfo) {
// App open ad impression event
}
override fun onAdClicked(adInfo: DaroAdInfo) {
// App open ad click event
}
override fun onShown(adInfo: DaroAdInfo) {
// When app open ad screen is shown
}
override fun onDismiss(adInfo: DaroAdInfo) {
// When app open ad screen is dismissed
}
override fun onFailedToShow(adInfo: DaroAdInfo, error: DaroAdDisplayFailError) {
// When failed to show app open ad screen
}
})
}
// Show ad (Activity required)
daroAppOpenAd.show(activity = this@MainActivity)
4
Clean up ad resources
Clean up resources when the activity is destroyed or the ad is no longer needed.
Copy
Ask AI
override fun onDestroy() {
super.onDestroy()
daroAppOpenAd?.destroy()
daroAppOpenAd = null
}
Showing App Open Ads on Cold Start
Copy
Ask AI
class SplashActivity : AppCompatActivity() {
private var daroAppOpenAd: DaroAppOpenAd? = null
private var isAdShown = false
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)
loadDaroAppOpenAd()
}
private fun loadDaroAppOpenAd() {
val adUnit = DaroAppOpenAdUnit(
unitId = "your_appopen_unit_id",
placement = "splash_screen"
)
val loader = DaroAppOpenAdLoader(
context = this,
adUnit = adUnit
)
loader.setListener(object : DaroAppOpenAdLoaderListener {
override fun onAdLoadSuccess(ad: DaroAppOpenAd, adInfo: DaroAdInfo?) {
daroAppOpenAd = ad
ad.setListener(object : DaroAppOpenAdListener {
override fun onAdImpression(adInfo: DaroAdInfo) {
...
}
override fun onAdClicked(adInfo: DaroAdInfo) {
...
}
override fun onShown(adInfo: DaroAdInfo) {
isAdShown = true
}
override fun onDismiss(adInfo: DaroAdInfo) {
// Handle action when app open ad is dismissed (ex. navigate to main screen)
if (!isAdShown) {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
}
}
override fun onFailedToShow(adInfo: DaroAdInfo, error: DaroAdDisplayFailError) {
// Handle action when unable to show app open ad.
...
}
})
// Show ad
ad.show(this@SplashActivity)
}
override fun onAdLoadFail(error: DaroLoadError) {
// Handle action on ad load failure.
}
})
// Load ad
loader.loadAd()
}
override fun onDestroy() {
super.onDestroy()
daroAppOpenAd?.destroy()
daroAppOpenAd = null
}
}

