배너 광고

배너는 SSP의 가장 일반적인 광고 형태로 앱의 하단이나 상단에 노출되는 띠 형태의 광고입니다.

1. 배너 뷰 인스턴스 생성

배너 view 인스턴스를 생성하는 방식은 xml 방식과 코드 방식 2가지를 지원합니다.

1) XML 방식

배너 광고가 노출될 뷰를 사용 중이신 Layout.xml 파일에 추가합니다.

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으로 설정 가능합니다.

Default 값은 320x50 입니다.

bannerAd.setAdSize(AdSize.BANNER_320x50);

4. 배너 광고 요청 갱신주기 설정

AdPopcorn 에서 제공하는 배너 광고에 대한 갱신주기를 설정합니다. 설정가능 범위는 15~300초 사이이며 -1 로 설정 시 자동으로 갱신되지 않습니다.

Default 값은 60초 입니다.

bannerAd.setRefreshTime(50);

5. 네트워크 스케쥴 타임아웃 설정

AdPopcornSSP 에서 제공하는 배너 광고에 대한 네트워크 스케쥴 타임아웃을 설정합니다.

배너 광고 로딩 시 각 네트워크 별로 타임아웃 시간을 주어 해당 시간 안에 광고를 받지 못할 경우 , 다음 네트워크로 넘어가게 됩니다.

Default 값은 5초 입니다.

bannerAd.setNetworkScheduleTimeout(10);

6. 배너 광고 애니메이션

AdPopcornSSP 에서 제공하는 배너 광고는 총 7가지의 애니메이션을 추가할 수 있습니다.

Default 값은 BannerAnimType.NONE 입니다.

parameter
설명

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 에서 제공하는 배너 광고는 배너 광고가 나오는 뷰의 빈 공간에 배경색을 채울 수 있습니다.

Default 값은 true (=배경 채우기) 입니다.

bannerAd.setAutoBgColor(false);  

8. 배너 뷰 광고 요청

배너 광고 노출을 원하는 시점에 loadAd() API 를 호출하여 서버에 광고를 요청합니다.

bannerAd.loadAd();

9. 배너 뷰 광고 중단

배너 광고 노출을 더 이상 하고 싶지 않은 시점에 호출합니다. 일반적으로 배너가 노출된 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

option
설명
default

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

option
설명

AdPopcornSSPBannerAd.MediationExtraData.MEZZO_STORE_URL

앱의 Store URL

AdPopcornSSPBannerAd.MediationExtraData.MEZZO_IS_USED_BACKGROUND_CHECK

백그라운드에서 배너가 동작할 수 있게 체크 하는 옵션

AdPopcornSSPBannerAd.MediationExtraData.MEZZO_AGE_LEVEL

메조 연령 정보를 세팅하는 옵션(기본값은 -1)

아래는 옵션 설정 예시 입니다.

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?