배너 & MREC 형태 소개
배너 광고
- 앱 레이아웃의 일부를 차지하는 직사각형 광고 형태로 보편적으로 사용됩니다.
- 대부분의 광고 네트워크들이 지원하는 형태인 320x50 사이즈를 사용합니다.

MREC 광고
- 300x250 의 사이즈를 MREC으로 구분하여 부릅니다.
- 전반적으로 배너와 동일한 특성을 가집니다.

광고 연동하기
- Xml
- Compose
adUnit 생성
복사
AI에게 묻기
val adUnit = DaroBannerAdUnit(
key = ${AdUnitId},
placement = ${placement}, //로그 상 보여질 이름입니다. 공백을 보내도 무관합니다.
bannerSize = DaroBannerSize.Banner,
)
adView 생성 및 뷰에 추가
복사
AI에게 묻기
val adView = DaroBannerAdView(
context = context,
adUnit = adUnit
)
binding.adViewContainer.addView(adView)
리스너 설정
복사
AI에게 묻기
adView.setListener(object : DaroAdViewListener {
override fun onAdImpression(adInfo: DaroAdInfo) {}
override fun onAdClicked(adInfo: DaroAdInfo) {}
override fun onAdLoadSuccess(ad: DaroViewAd, adInfo: DaroAdInfo) {}
override fun onAdLoadFail(err: DaroAdLoadError) {}
})
- 뷰를 선언하면 자체적으로 화면에 맞는 라이프사이클을 찾아 동작을 관리합니다. 따로
resume,pause,destroy를 호출하지 않아도 됩니다. autoDetectLifecycle값을 false(default: true)로 설정하는 경우,resume,pause,destroy를 직접 호출해주셔야 합니다.
복사
AI에게 묻기
DaroBanner(
adUnit = DaroBannerAdUnit(
key = ${AdUnitId},
placement = ${placement}
bannerSize = DaroBannerSize.Banner,
),
listener = object : DaroAdViewListener {
override fun onAdImpression(adInfo: DaroAdInfo) {}
override fun onAdClicked(adInfo: DaroAdInfo) {}
override fun onAdLoadSuccess(ad: DaroViewAd, adInfo: DaroAdInfo) {}
override fun onAdLoadFail(err: DaroAdLoadError) {}
},
modifier = Modifier
)
DaroBannerAdView.requestPreload() 메서드를 통해서 광고 뷰를 생성하지 않고도 광고를 미리 로드할 수 있습니다.복사
AI에게 묻기
DaroBannerAdView.requestPreload(
this,
DaroBannerAdUnit(
key = ${AdUnitId},
placement = ${placement},
bannerSize = ${bannerSize}
)
)
AdUnitId, placement, bannerSize 모두 일치해야 미리 로드한 광고를 바로 사용할 수 있습니다.
