Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Interstitial Type 설정

Interstitial 광고 type 중 Dialog와 BottomSheet을 제공합니다. 위에서 InterstitialAdHandler 설정시 원하시는 Type으로 각각 InterstitialAdHandler.Type.Dialog 또는 InterstitialAdHandler.Type.BottomSheet으로 설정하시면 됩니다.

Bottom sheet

Image Added

Dialog

Image Added

Advanced Usage


InterstitialAdConfig의 설정

Interstitial 광고의 디자인 영역 및 광고 요청 개수에 대해서 매체사에서 Customize 할 수 있도록 지원하고 있습니다. 설정된 InterstitialAdConfig는 interstitialAdHandler.show()를 호출할 때 넣어서 호출합니다.

공통 Config

  • topIcon : Interstitial 광고 상단에 있는 아이콘 (샘플코드처럼 drawable의 id로 지정하거나 drawable type으로 지정 가능)

  • titleText : Interstitial 광고 상단에 있는 Text

  • textColor : titleText의 색깔

  • layoutBackgroundColor : Interstitial 광고 전체의 배경 색깔

  • ctaViewBackgroundColorList : CTA의 배경 색깔

  • ctaRewardDrawable : CTA에 포함된 기본 아이콘 (샘플코드처럼 drawable의 id로 지정하거나 drawable type으로 지정 가능)

  • ctaParticipatedDrawable : 광고 참여 완료 후 보여주는 CTA에 포함된 아이콘 (샘플코드처럼 drawable의 id로 지정하거나 drawable type으로 지정 가능)

  • ctaViewTextColor : CTA의 Text 색깔

  • navigateCommand : InterstitialAd에 Feed으로 이동할 수 있는 링크 view를 추가 (아래의 예시 코드 참고)

    Image Added
Expand
title예시 코드
Code Block
languagejava
new InterstitialAdConfig.Builder()
    .navigateCommand(NavigateToFeedCommand.with(getApplicationContext(), feedConfig))
    .build()
  • feedUnitId: 피드로 이동하는 링크 뷰에 유저가 추가로 적립할 수 있는 리워드 표시

Expand
title예시 코드
Code Block
languagejava
new InterstitialAdConfig.Builder()
    .navigateCommand(NavigateToFeedCommand.with(getApplicationContext(), feedConfig))
    .feedUnitId(feedConfig.getUnitId())
    .build()

Dialog 전용

  • closeText : 닫기 버튼의 Text

Bottom Sheet 전용

  • adCount : 한번에 요청하는 광고의 개수. 1 ~ 5가 가능하며, adCount를 지정하지 않거나 1 ~ 5 외의 범위를 지정할 경우 5로 고정됨

Code Block
languagejava
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 종료 콜백

다음의 콜백을 이용하여, InterstitialAd가 종료되는 것을 알 수 있습니다.

Code Block
interstitialAdHandler.show(MainActivity.this, interstitialAdConfig, new InterstitialAdHandler.OnInterstitialAdEventListener() {
            ...
            @Override
            public void onFinish() {
                // 인터스티셜 종료시
            }
        }); 

광고 로드 결과에 대한 리스너 등록

광고가 로드에 실패한 경우에 대해 리스너를 등록할 수 있습니다.

Code Block
languagejava
interstitialAdHandler.show(MainActivity.this, interstitialAdConfig, new InterstitialAdHandler.OnInterstitialAdEventListener() {
            @Override
            public void onAdLoadFailed(AdError error) {
                // 로드 실패시. error를 통해 로드 실패 이유를 알 수 있음
            }

            @Override
            public void onAdLoaded() {
                // 로드 성공시
            }
        });