앱 오프닝 광고 형태 소개
앱 오프닝 광고는 다음과 같은 시점에 사용할 수 있는 전면 광고 형식입니다:- 앱 시작 시 로딩 화면에서 광고 표시
- 앱이 백그라운드에서 포그라운드로 전환될 때 광고 표시

광고 연동하기
adUnit 생성
대시보드에서 발급받은
ad unit ID를 사용하여 광고 단위를 설정합니다.복사
AI에게 묻기
val adUnit = DaroAppOpenAdUnit(
unitId = ${AdUnitId},,
placement = ${placement}, // 로그 상 보여질 이름입니다. 공백을 보내도 무관합니다.
)
DaroAppOpenAdManager 생성 및 광고 로드
앱 오프닝 광고요청을 위한 DaroAppOpenAdManager를 생성합니다.
복사
AI에게 묻기
// Application 클래스의 onCreate 시점에 해당 코드를 호출해주세요.
val appOpenAdManager = DaroAppOpenAdManager.Builder(application)
.setAdUnit(adUnit)
.setAppOpenAdLoaderListener(object : DaroAppOpenAdLoaderListener {
override fun onAdLoadSuccess(ad: DaroAppOpenAd, adInfo: DaroAdInfo) {
// 광고 로드 성공
}
override fun onAdLoadFail(error: DaroLoadError) {
// 광고 로드 실패
}
})
.setAppOpenAdListener(object : DaroAppOpenAdListener {
override fun onAdImpression(adInfo: DaroAdInfo) {
// 앱 오프닝 광고 임프레션 이벤트
}
override fun onAdClicked(adInfo: DaroAdInfo) {
// 앱 오프닝 광고 클릭 이벤트
}
override fun onShown(adInfo: DaroAdInfo) {
// 앱 오프닝 광고화면이 보여질때
}
override fun onDismiss(adInfo: DaroAdInfo) {
// 앱 오프닝 광고 화면이 닫혔을때
}
override fun onFailedToShow(adInfo: DaroAdInfo, error: DaroAdDisplayFailError) {
// 앱 오프닝 광고 화면을 보여주는데 실패했을때
}
})
.build()
// 광고 로드
appOpenAdManager.loadAd()
앱 오프닝 광고 표시
앱 오프닝 광고를 표시합니다.
복사
AI에게 묻기
// 1. Activity, Fragment, Composable 에서 직접 광고 호출이 필요하다면
appOpenAdManager.showIfAvailable(activity)
// 2. 앱이 background -> foreground 로 전환될때마다 호출이 필요하다면
// Application.ActivityLifecycleCallbacks를 구현해야 합니다.
class ActivityLifecycleCallbacks : Application.ActivityLifecycleCallbacks {
override fun onActivityStarted(activity: Activity) {
// (주의) 광고 표시 중 인지 체크해야 합니다.
if (!appOpenAdManager.isShowingAd()) {
appOpenAdManager.showIfAvailable(activity)
}
}
...
}
application.registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks())
콜드 스타트 시 DaroAppOpenAdManager 초기화
복사
AI에게 묻기
class MyApplication : Application() {
private lateinit var appOpenAdManager: DaroAppOpenAdManager
override fun onCreate() {
super.onCreate()
val adUnit = DaroAppOpenAdUnit(
unitId = "your_appopen_unit_id",
placement = "placement"
)
appOpenAdManager = DaroAppOpenAdManager.Builder(this)
.setAdUnit(adUnit)
.setAppOpenAdLoaderListener(...)
.setAppOpenAdListener(...)
.build()
appOpenAdManager.loadAd()
val callbacks = object : Application.ActivityLifecycleCallbacks {
override fun onActivityStarted(activity: Activity) {
if (appOpenAdManager.isShowingAd()) {
appOpenAdManager.showIfAvailable()
}
}
...
}
registerActivityLifecycleCallbacks(callbacks)
}
// 앱 오프닝 광고를 더이상 보여줄 필요가 없을때 호출
fun destroy() {
appOpenAdManager.destroy()
}
}

