본 가이드는 BuzzAd-Benefit SDK의 Interstitial 타입 광고를 연동하는 방법을 다루는 문서입니다.
※ 주의사항
Interstitial 타입을 연동하기 전, 공통 가이드의 연동 사항을 모두 적용했는지 확인해주세요.
※ 참고사항
Interstitial 타입은 /wiki/spaces/~79598069/pages/1989937432 방식을 활용해서 매체사가 자체적으로 구현하실 수 있기는 하나, 매체사의 구현 편의성을 위하여 BuzzAd-Benefit SDK 내에도 미리 구현을 해 놓은 기능입니다. 따라서 Customization이 가능한 영역이 제한적이기 때문에 조금 더 자유로운 구현을 원하시는 경우 /wiki/spaces/~79598069/pages/1989937432 방식을 이용해 주시면 감사하겠습니다.
Index
Table of Contents | ||
---|---|---|
|
Basic Usage
InterstitialAdHandler
설정
Interstitial unit_id와 InterstitialAdHandler의 type (Dialog 또는 Bottomsheet, 자세한 내용은 아래 참조)을 사용하여
InterstitialAdHandler
를 생성합니다.interstitialAdHandler.show(광고가_노출될_Activity.this)
를 호출하여 광고를 호출합니다.Code Block language java final InterstitialAdHandler interstitialAdHandler = new InterstitialAdHandlerFactory() .create("YOUR_INTERSTITIAL_UNIT_ID", InterstitialAdHandler.Type.Dialog); interstitialAdHandler.show(MainActivity.this);
Interstitial Type
설정
Interstitial 광고 type 중 Dialog와 BottomSheet을 제공합니다. 위에서 InterstitialAdHandler 설정시 원하시는 Type으로 각각 InterstitialAdHandler.Type.Dialog
또는 InterstitialAdHandler.Type.BottomSheet
으로 설정하시면 됩니다.
Bottom sheet
Dialog
Advanced Usage
InterstitialAdConfig
의 설정
Interstitial 광고의 디자인 영역 및 광고 요청 개수에 대해서 매체사에서 Customize 할 수 있도록 지원하고 있습니다. 설정된 InterstitialAdConfig
는 interstitialAdHandler.show()
를 호출할 때 넣어서 호출합니다.
공통 Config
topIcon
: Interstitial 광고 상단에 있는 아이콘 (샘플코드처럼 drawable의 id로 지정하거나 drawable type으로 지정 가능)titleText
: Interstitial 광고 상단에 있는 TexttextColor
: titleText의 색깔layoutBackgroundColor
: Interstitial 광고 전체의 배경 색깔ctaViewBackgroundColorList
: CTA의 배경 색깔ctaRewardDrawable
: CTA에 포함된 기본 아이콘 (샘플코드처럼 drawable의 id로 지정하거나 drawable type으로 지정 가능)ctaParticipatedDrawable
: 광고 참여 완료 후 보여주는 CTA에 포함된 아이콘 (샘플코드처럼 drawable의 id로 지정하거나 drawable type으로 지정 가능)ctaViewTextColor
: CTA의 Text 색깔navigateCommand
: InterstitialAd에 Feed으로 이동할 수 있는 링크 view를 추가 (아래의 예시 코드 참고)
Expand | |||||
---|---|---|---|---|---|
| |||||
|
feedUnitId
: 피드로 이동하는 링크 뷰에 유저가 추가로 적립할 수 있는 리워드 표시
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Dialog 전용
closeText
: 닫기 버튼의 Text
Bottom Sheet 전용
adCount
: 한번에 요청하는 광고의 개수. 1 ~ 5가 가능하며, adCount를 지정하지 않거나 1 ~ 5 외의 범위를 지정할 경우 5로 고정됨
Code Block | ||
---|---|---|
| ||
InterstitialAdConfig interstitialAdConfig =
new InterstitialAdConfig.Builder()
.topIcon(R.drawable.bz_ic_checked_circle)
.titleText("지금 바로 참여하고 포인트 받기")
.textColor(android.R.color.white)
.layoutBackgroundColor(R.color.colorPrimaryDark)
.ctaViewBackgroundColorList(getBackgroundColorStateList())
.ctaRewardDrawable(R.drawable.bz_ic_custom_reward)
.ctaParticipatedDrawable(R.drawable.bz_ic_btn_more)
.ctaViewTextColor(getTextColorStateList())
.closeText("닫기")
.build();
final InterstitialAdHandler interstitialAdHandler = new InterstitialAdHandlerFactory()
.create("YOUR_INTERSTITIAL_UNIT_ID", InterstitialAdHandler.Type.Dialog);
interstitialAdHandler.show(MainActivity.this, interstitialAdConfig);
private ColorStateList getBackgroundColorStateList() {
final int[][] states = new int[][]{
new int[]{android.R.attr.state_enabled}, // enabled
new int[]{android.R.attr.state_pressed} // pressed
};
final int[] colors = new int[]{
ContextCompat.getColor(this, android.R.color.holo_green_light),
ContextCompat.getColor(this, android.R.color.holo_green_dark)
};
return new ColorStateList(states, colors);
}
private ColorStateList getTextColorStateList() {
int[][] states = new int[][]{
new int[]{android.R.attr.state_enabled}, // enabled
new int[]{android.R.attr.state_pressed} // pressed
};
int[] colors = new int[]{
Color.WHITE,
Color.WHITE
};
return new ColorStateList(states, colors);
} |
Interstitial dialog 종료 콜백
Info |
---|
2.11.x 버전부터 사용 가능합니다. |
Note |
---|
2.11.x 버전부터 |
다음의 콜백을 이용하여, InterstitialAd가 종료되는 것을 알 수 있습니다.
Code Block |
---|
interstitialAdHandler.show(MainActivity.this, interstitialAdConfig, new InterstitialAdHandler.OnInterstitialAdEventListener() {
...
@Override
public void onFinish() {
// 인터스티셜 종료시
}
}); |
광고 로드 결과에 대한 리스너 등록
광고가 로드에 실패한 경우에 대해 리스너를 등록할 수 있습니다.
Code Block | ||
---|---|---|
| ||
interstitialAdHandler.show(MainActivity.this, interstitialAdConfig, new InterstitialAdHandler.OnInterstitialAdEventListener() {
@Override
public void onAdLoadFailed(AdError error) {
// 로드 실패시. error를 통해 로드 실패 이유를 알 수 있음
}
@Override
public void onAdLoaded() {
// 로드 성공시
}
}); |