배너광고(BannerLoader)
인벤토리 수익을 증대할 수 있는 비보상형 광고 상품으로 원하는 위치 어디에나 연동이 가능합니다.
BannerAdLoader
ADCash Android SDK에서 제공하는 배너광고 로더, 광고를 직접 호출하고 원하는곳에 View를 삽입합니다.
Layout(View)
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:app="http://schemas.android.com/apk/res-auto"
	android:layout_width="match_parent"
	android:layout_height="match_parent">
<FrameLayout
	android:id="@+id/bannerAdViewContainer"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:layout_gravity="center" />
</FrameLayout>Programmatically
name
type
description
context
Context
Android Context
bannerAdSize
BannerAdSize.W320XH50
320*50 띠형(선형) 배너
BannerAdSize.W320XH100
320*100 띠형(선형) 배너
BannerAdSize.W300XH250
300*250 박스형 배너
BannerAdSize.DYNAMIC
지면 코드 설정에 따른 동적 크기 NAM은 Dynamic 크기만 지원
placementId
String
광고 지면 코드(별도 발급 요청)
BannerAdView.Listener
onLoaded(View, BannerSize)
배너 광고 로드 성공
onLoaded#View
배너 광고 컨텐츠 뷰
onLoaded#BannerAdSize
배너 광고 컨텐츠 뷰 광고 사이즈
onFailed(AdError)
배너 광고 로드 실패 (실패 코드)
onClicked()
배너 광고 클릭
private var bannerAdLoader: BannerAdLoader? = null
override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(vb.root)
  // banner instance
  bannerAdLoader = BannerAdLoader(
    // android context
    context = this,
    // placement Id -> 영업팀에서 별도 발급 후 전달
    placementId = "지면코드",
    // banner size
    bannerAdSize = BannerAdSize.DYNAMIC,
    // banner listener
    listener = object : BannerAdLoader.BannerListener {
      override fun onLoaded(adView: View, size: BannerAdSize) {
        // 배너 로드 성공
        // 사용자 정의 배너뷰 컨테이너(ViewGroup)
        vb.bannerAdViewContainer.removeAllViews()
        vb.bannerAdViewContainer.addView(adView)
      }
          	
      override fun onFailed(error: AdError) {
        // 로드 실패
        // adError.errorCode : 실패코드
        // adError.errorMessage : 실패사유
      }
      
      override fun onClicked() {
      }
    }
  )
  // banner load
  bannerAdLoader?.requestAd()
}
override fun onResume() {
  super.onResume()
  bannerAdLoader?.onResume()
}
override fun onPause() {
  super.onPause()
  bannerAdLoader?.onPause()
}
override fun onDestroy() {
  super.onDestroy()
  bannerAdLoader?.onDestroy()
}private BannerAdLoader bannerAdLoader;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(vb.getRoot());
  bannerAdLoader = new BannerAdLoader(
    // android context
    this,
    // placement id -> 영업팀에서 별도 발급 후 전달
    "${지면코드}",
    // banner size
    BannerAdSize.W320XH50,
    // banner listener
    new BannerAdLoader.BannerListener() {
      @Override
      public void onLoaded(@NonNull View adView, @NonNull BannerAdSize bannerAdSize) {
        // 배너 로드 성공
        // 사용자 정의 배너뷰 컨테이너(ViewGroup)
        vb.bannerAdViewContainer.removeAllViews();
        vb.bannerAdViewContainer.addView(adView);
      }
      
      @Override
      public void onFailed(@NonNull AdError adError) {
        // 로드 실패
        // adError.getErrorCode() : 실패코드
        // adError.getErrorMessage() : 실패사유
        final String errorCode = String.valueOf(adError.getErrorCode());
        final String errorMessage = adError.getErrorMessage();
      }
      
      @Override
      public void onClicked() {
        // 배너 클릭 이벤트
      }
    }
  );
  bannerAdLoader.requestAd();
}
@Override
protected void onResume() {
  super.onResume();
  bannerAdLoader.onResume();
}
@Override
protected void onPause() {
  super.onPause();
  bannerAdLoader.onPause();
}
@Override
protected void onDestroy() {
  super.onDestroy();
  bannerAdLoader.onDestroy();
}광고 영역 분리
NAN(Naver Ad Manager) 광고의 경우 컨텐츠와 광고 영역이 구분될 수 있도록 영역을 구분해야 합니다.
Last updated
