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

광고 연동하기
1
adUnit 생성
대시보드에서 발급받은
ad unit ID를 사용하여 광고 단위를 설정합니다.복사
AI에게 묻기
val adUnit = DaroAppOpenAdUnit(
unitId = ${AdUnitId},,
placement = ${placement}, //로그 상 보여질 이름입니다. 공백을 보내도 무관합니다.
)
2
Loader 생성 및 광고 로드
광고 로더를 생성하고 리스너를 설정한 후 광고를 로드합니다.
복사
AI에게 묻기
val loader = DaroAppOpenAdLoader(
context = context,
adUnit = adUnit
)
loader.setListener(object : DaroAppOpenAdLoaderListener {
override fun onAdLoadSuccess(ad: DaroAppOpenAd, adInfo: DaroAdInfo) {
// 광고 로드 성공
daroAppOpenAd = ad
setupAdListeners(ad)
}
override fun onAdLoadFail(error: DaroLoadError) {
// 광고 로드 실패
...
}
})
// 광고 로드
loader.loadAd()
3
리스너 설정 및 광고 표시
로드된 광고에 표시 관련 리스너를 설정하고 광고를 표시합니다.
복사
AI에게 묻기
private var daroAppOpenAd: DaroAppOpenAd? = null
private fun setupAdListeners(ad: DaroAppOpenAd) {
ad.setListener(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) {
// 앱 오프닝 광고 화면을 보여주는데 실패했을때
}
})
}
// 광고 표시 (Activity 필수)
daroAppOpenAd.show(activity = this@MainActivity)
4
광고 리소스 정리
액티비티가 종료되거나 광고가 더 이상 필요하지 않을 때 리소스를 정리합니다.
복사
AI에게 묻기
override fun onDestroy() {
super.onDestroy()
daroAppOpenAd?.destroy()
daroAppOpenAd = null
}
콜드 스타트 시 광고 표시
복사
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) {
// 앱 오프닝 광고가 닫혔을때 동작 처리 (ex. 메인 화면으로 이동)
if (!isAdShown) {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
}
}
override fun onFailedToShow(adInfo: DaroAdInfo, error: DaroAdDisplayFailError) {
// 앱 오프닝 광고를 보여줄 수 없을때 동작 처리.
...
}
})
// 광고 표시
ad.show(this@SplashActivity)
}
override fun onAdLoadFail(error: DaroLoadError) {
// 광고 로드 실패 시 동작 처리.
}
})
// 광고 로드
loader.loadAd()
}
override fun onDestroy() {
super.onDestroy()
daroAppOpenAd?.destroy()
daroAppOpenAd = null
}
}

