배너광고(BannerView)
인벤토리 수익을 증대할 수 있는 비보상형 광고 상품으로 원하는 위치 어디에나 연동이 가능합니다.
BannerAdView
ADCash Android SDK에서 제공하는 커스텀뷰(Widget)
Layout
<com.avatye.cashblock.unit.adcash.view.BannerAdView
android:id="@+id/bannerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:adCashBannerAdViewSize="${지면크기}"
app:adCashBannerAdViewPlacementId="${지면코드}"/>
배너 지면 크기(adCashBannerAdViewSize)
name
description
size_320X50
320*50 띠배너
size_320X100
320*100 띠배너
size_300X250
300*250 박스형 배너
dynamic
지면 코드에 설정된 크기로 자동 조정 -> NAM 배너는 dynamic 크기만 지원
배너 지면 코드(adCashBannerAdViewPlacementId)
지면에 노출될 지면코드 -> 영업담당 또는 개발팀에서 별도 전달
Programmatically
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// use viewvbinding
setContentView(vb.root)
// banner size
// xml에서 정의 했다면 설정 하지 않는다.
vb.bannerAdView.setBannerAdSize(BannerAdSize.DYNAMIC)
// placementId
// xml에서 정의 했다면 설정 하지 않는다.
vb.bannerAdView.setPlacementId(placementId = "${지면코드}")
// listener
vb.bannerAdView.listener = object : BannerAdView.Listener {
override fun onLoaded() {
// 로드 성공
}
override fun onFailed(adError: AdError) {
// 로드 실패
// adError.errorCode : 실패코드
// adError.errorMessage : 실패사유
}
override fun onClicked() {
// 배너 클릭 이벤트
}
}
// 광고 호출
vb.bannerAdView.requestAd()
}
override fun onResume() {
super.onResume()
vb.bannerAdView.onResume()
}
override fun onPause() {
super.onPause()
vb.bannerAdView.onPause()
}
override fun onDestroy() {
super.onDestroy()
vb.bannerAdView.onDestroy()
}
배너 크기(setBannerAdSize)
// function
fun setBannerAdSize(bannerAdSize: BannerAdSize): Unit
// usage
vb.bannerAdView.setBannerAdSize(bannerAdSize = BannerAdSize.DYNAMIC)
name(type)
description
BannerAdSize.W320XH50
320*50 띠배너
BannerAdSize.W320XH100
320*100 띠배너
BannerAdSize.W300XH250
300*250 박스형 배너
BannerAdSize.DYNAMIC
지면 코드에 설정된 크기로 자동 조정 -> NAM 배너는 dynamic 크기만 지원
배너 지면 코드(setPlacementId)
지면에 노출될 지면코드 -> 영업담당 또는 개발팀에서 별도 전달
//function
fun setPlacementID(placementId: String): Unit
// useage
vb.bannerAdView.setPlacementId(placementId = "지면코드")
배너 리스너(listener)
배너 호출(request) 결과를 리스너(이벤트)를 통해 전달
// function
fun listener(listener: BannerAdView.Listener): Unit
// usage
vb.bannerAdView.listener(listener = object:BannerAdView.Listener {
override fun onLoaded() {
// 로드 성공
}
override fun onFailed(adError: AdError) {
// 로드 실패
// adError.errorCode : 실패코드
// adError.errorMessage : 실패사유
}
override fun onClicked() {
// 배너 클릭 이벤트
}
})
// interface
interface BannerAdView.Listener {
// 로드 성공
fun onLoaded(): Unit
// 로드 실패
// adError.errorCode : 실패코드
// adError.errorMessage : 실패사유
fun onFailed(adError: AdError): Unit
// 배너 클릭 이벤트
fun onClicked(): Unit
}
// data class
data class AdError(
// 실패코드
val errorCode: Int,
// 실패사유
val errorMessage: String
)
배너 호출(request)
배너를 호출 합니다.
// function
fun request():Unit
// usage
vb.bannerAdView.request()
광고 영역 분리
NAN(Naver Ad Manager) 광고의 경우 컨텐츠와 광고 영역이 구분될 수 있도록 영역을 구분해야 합니다.
Last updated