배너 광고
배너는 SSP의 가장 일반적인 광고 형태로 앱의 하단이나 상단에 노출되는 띠 형태의 광고입니다.
1. 배너 뷰 인스턴스 생성
배너 view 인스턴스를 생성하는 방식은 xml 방식과 코드 방식 2가지를 지원합니다.
1) XML 방식
배너 광고가 노출될 뷰를 사용 중이신 Layout.xml
파일에 추가합니다.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:orientation="vertical">
<!-- AdPOPcorn SSP Banner View -->
<com.igaworks.ssp.part.banner.AdPopcornSSPBannerAd
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/banner"/>
</LinearLayout>
xml 에서 형성된 인스턴스를 추가합니다.
private AdPopcornSSPBannerAd bannerAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
bannerAd = (AdPopcornSSPBannerAd )findViewById(R.id.banner);
}
2) 코드 방식
아래 코드를 추가하여 인스턴스를 생성합니다.
private AdPopcornSSPBannerAd bannerAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
bannerAd = new AdPopcornSSPBannerAd (context);
}
2. 배너 광고 Placement ID 설정
아래 코드를 추가하여 배너 광고의 PLACEMENT ID 를 설정합니다. 배너 광고 PLACEMENT ID 는 애드팝콘 SSP 콘솔 페이지에서 생성이 가능합니다.
bannerAd.setPlacementId("배너광고_PLACEMENT_ID");
3. 배너 광고 요청 사이즈 설정
배너 사이즈는 3 가지 옵션으로 AdSize enum class
로 전달하며 사이즈는 AdSize.BANNER_320x50 / AdSize.BANNER_300x250 / AdSize.BANNER_320x100으로 설정 가능합니다.
AdSize.BANNER_ADAPTIVE_SIZE의 경우 네이버 애드 매니저 이미지형 배너 전용 사이즈 입니다. 해당 사이즈 사용하고자 하는 경우에는 사업팀(monetize@adpopcorn.com)에 문의해 주시기 바랍니다.
bannerAd.setAdSize(AdSize.BANNER_320x50);
4. 배너 광고 요청 갱신주기 설정
AdPopcorn 에서 제공하는 배너 광고에 대한 갱신주기를 설정합니다. 설정가능 범위는 15~300초 사이이며 -1 로 설정 시 자동으로 갱신되지 않습니다.
bannerAd.setRefreshTime(50);
5. 네트워크 스케쥴 타임아웃 설정
AdPopcornSSP 에서 제공하는 배너 광고에 대한 네트워크 스케쥴 타임아웃을 설정합니다.
배너 광고 로딩 시 각 네트워크 별로 타임아웃 시간을 주어 해당 시간 안에 광고를 받지 못할 경우 , 다음 네트워크로 넘어가게 됩니다.
bannerAd.setNetworkScheduleTimeout(10);
6. 배너 광고 애니메이션
AdPopcornSSP 에서 제공하는 배너 광고는 총 7가지의 애니메이션을 추가할 수 있습니다.
BannerAnimType.NONE
배너 애니메이션 없음
BannerAnimType.FADE_IN
페이드 인 애니메이션
BannerAnimType.SLIDE_LEFT
왼쪽으로 슬라이드 애니메이션
BannerAnimType.SLIDE_RIGHT
오른쪽으로 슬라이드 애니메이션
BannerAnimType.TOP_SLIDE
윗쪽으로 슬라이드 애니메이션
BannerAnimType_BOTTOM_SLIDE
아래쪽으로 슬라이드 애니메이션
BannerAnimType_CIRCLE
배너 회전 애니메이션
bannerAd.setBannerAnimType(BannerAnimType.SLIDE_LEFT);
7. 배너 배경색 채우기
AdPopcornSSP 에서 제공하는 배너 광고는 배너 광고가 나오는 뷰의 빈 공간에 배경색을 채울 수 있습니다.
bannerAd.setAutoBgColor(false);
8. 배너 뷰 광고 요청
배너 광고 노출을 원하는 시점에 loadAd()
API 를 호출하여 서버에 광고를 요청합니다.
bannerAd.loadAd();
loadAd 호출에 대한 결과로 광고 수신에 실패한 경우에는 loadAd 재호출을 하시면 안됩니다. 과도한 광고 요청 api 호출은 block 사유가 됩니다.
9. 배너 뷰 광고 중단
배너 광고 노출을 더 이상 하고 싶지 않은 시점에 호출합니다. 일반적으로 배너가 노출된 activity 나 fragment 가 destroy 할 때 호출합니다.
단, onPause 상태 진입 시 stopAd 를 호출할 경우 클릭 리포트 수치가 누락되는 경우가 발생하므로 해당 배너 뷰가 포함된 activity 나 fragment 가 destroy 상태 진입 시에 호출 해주세요.
bannerAd.stopAd();
10. 배너 광고 로드 여부 체크
배너 광고 로드 시 광고 유/무를 파악할때 호출 합니다.
true
: 광고 로드 성공false
: 광고 로드 실패
bannerAd.isDisplayed();
11. 이벤트 리스너
배너 광고를 불러올 때 발생하는 이벤트에 대한 리스너를 설정합니다. 제공되는 리스너와 구현 예시는 다음과 같습니다.
OnBannerAdReceiveSuccess
배너 광고 로딩 성공
OnBannerAdReceiveFailed
배너 광고 로딩 실패. 에러코드 값
OnBannerAdClicked
배너 클릭 시
bannerAd.setBannerEventCallbackListener(new IBannerEventCallbackListener(){
@Override
public void OnBannerAdReceiveSuccess() {
}
@Override
public void OnBannerAdReceiveFailed(SSPErrorCode sspErrorCode) {
}
@Override
public void OnBannerAdClicked() {
}
});
12. 배너 광고 미디에이션 옵션
애드팝콘 SSP 에서 제공하는 Cauly, Mopub, Mezzo Media 에 대한 옵션을 설정 할 수 있습니다.
Cauly
AdPopcornSSPBannerAd,MediationExtraData.CAULY_DYNAMIC_RELOAD_INTERVAL
광고 노출 주기를 카울리측에서 컨트롤 함
true
AdPopcornSSPBannerAd.MediationExtraData.CAULY_RELOAD_INTERVAL
광고노출 주기를 매체에서 컨트롤 함 (CAULY_DAYNAMIC_RELOAD_INTERVAL 를 False 로 변경 시 사용 가능)
20 (설정범위10~120)
AdPopcornSSPBannerAd.MediationExtraData.CAULY_THREAD_PRIORITY
스레드 우선순위 설정
5 (설정범위 1~10)
Mezzo Media
AdPopcornSSPBannerAd.MediationExtraData.MEZZO_STORE_URL
앱의 Store URL
AdPopcornSSPBannerAd.MediationExtraData.MEZZO_IS_USED_BACKGROUND_CHECK
백그라운드에서 배너가 동작할 수 있게 체크 하는 옵션
AdPopcornSSPBannerAd.MediationExtraData.MEZZO_AGE_LEVEL
메조 연령 정보를 세팅하는 옵션(기본값은 -1)
메조 가이드에 따르면, 알 수 없음 = -1, 어린이(13세 미만) = 0, 청소년 및 성인(만 13세 이상) = 1로 정의하고 있으니, 매체 측에서 유저의 연령 정보를 알고 계신 경우, MEZZO_AGE_LEVEL
옵션 값을 설정하시기 바랍니다
아래는 옵션 설정 예시 입니다.
bannerAd = (AdPopcornSSPBannerAd) findViewById(R.id.banner_container_2);
HashMap bannerMediationExtras = new HashMap<>();
bannerMediationExtras.put(AdPopcornSSPBannerAd.MediationExtraData.CAULY_DYNAMIC_RELOAD_INTERVAL, true);
bannerMediationExtras.put(AdPopcornSSPBannerAd.MediationExtraData.CAULY_RELOAD_INTERVAL, 40);
bannerMediationExtras.put(AdPopcornSSPBannerAd.MediationExtraData.MEZZO_STORE_URL, "");
bannerMediationExtras.put(AdPopcornSSPBannerAd.MediationExtraData.MEZZO_IS_USED_BACKGROUND_CHECK, false);
bannerMediationExtras.put(AdPopcornSSPBannerAd.MediationExtraData.MEZZO_AGE_LEVEL, 1);
bannerAd.setMediationExtras(bannerMediationExtras)
Last updated
Was this helpful?