# 인터스티셜(Interstitial)

Source: https://docs.buzzvil.com/docs/buzzbenefit-android/v6/interstitial
Platform: Android
SDK major version: v6
Language: Korean (ko)

인터스티셜 지면을 추가하고 설정하고 SDK 인터페이스를 사용해 부가 기능을 구현하는 방법을 알아보세요.

> ✏️  **참고**\
> SDK 인터페이스를 사용하거나 자체적으로 구현하려면 [UI 설정](https://docs.buzzvil.com/docs/buzzbenefit-android/v6/ui-configuration)을 참고하세요.

## 주요 특징

인터스티셜 지면은 앱을 완전히 덮으면서 노출되며 쉽게 연동할 수 있습니다. 또한 광고 지면이 앱을 덮기 때문에 앱 UI와의 조합을 고려하지 않고 노출하기 용이합니다. 다이얼로그(Dialog)와 바텀 시트(Bottomsheet) UI를 제공하여 원하는 기획에 맞게 선택하여 연동할 수 있습니다.

![](https://docs.buzzvil.com/api/content-image/buzzbenefit-android/v6/image/M-interstitial_01.png)

![](https://docs.buzzvil.com/api/content-image/buzzbenefit-android/v6/image/01-interstitial_feed.png)

## 연동

인터스티셜 지면을 연동하는 방법을 확인해 보세요.

### 1 단계. 준비하기

- [시작하기](https://docs.buzzvil.com/docs/buzzbenefit-android/v6/getting-started) 적용 완료
- 인터스티셜 지면에 사용할 Unit ID (이하 `YOUR_INTERSTITIAL_UNIT_ID`)

### 2 단계. 광고 할당 및 표시하기

인터스티셜 지면에 광고를 할당받고 표시하려면 다음의 절차를 따르세요.

1. 인터스티셜 UI 타입을 결정한 후 `BuzzInterstitial`을 생성하세요.

- 다이얼로그 UI: `BuzzInterstitial.Builder.buildDialog()`를 호출하세요.
- 바텀 시트 UI: `BuzzInterstitial.Builder.buildBottomSheet()`를 호출하세요.

2. `BuzzInterstitial.load()`를 호출하여 광고를 할당받으세요.

3. `BuzzInterstitial.show(context)`를 호출하여 광고를 표시하세요.

```kotlin
import com.buzzvil.buzzbenefit.BuzzAdError
import com.buzzvil.buzzbenefit.interstitial.BuzzInterstitial
import com.buzzvil.buzzbenefit.interstitial.BuzzInterstitialListener

// SDK를 초기화 하지 않은 경우 null이 반환됩니다.
val buzzAdInterstitial = BuzzInterstitial.Builder(Constant.YOUR_INTERSTITIAL_ID).buildDialog()

buzzAdInterstitial?.load(object: BuzzInterstitialListener() {
    override fun onAdLoaded() {
        // 할당된 광고가 있으면 호출됩니다.
        // Interstitial 광고를 화면에 표시합니다.
        buzzAdInterstitial.show(this@MainActivity)
    }

    override fun onAdLoadFailed(error: BuzzAdError?) {
        // 할당된 광고가 없으면 호출됩니다.
        Toast.makeText(this@MainActivity, "onFailure: ${error?.type?.name}", Toast.LENGTH_SHORT).show()
    }

    override fun onAdClosed() {
        super.onAdClosed()
        // Interstitial 지면이 종료되면 호출됩니다.
        // 필요에 따라 추가 기능을 구현하세요.
    }
})
```

> ❌  **오류**\
> 할당된 광고가 없을 때에는 `BuzzAdError`의 `errorMessage`가 empty response로 전달되고, 광고가 노출되지 않습니다. 광고 미할당 시 발생하는 오류 코드에 대한 자세한 내용은 [오류 코드가 나타납니다](https://docs.buzzvil.com/docs/buzzbenefit-android/v6/troubleshooting#%EC%98%A4%EB%A5%98-%EC%BD%94%EB%93%9C%EA%B0%80-%EB%82%98%ED%83%80%EB%82%A9%EB%8B%88%EB%8B%A4) 토픽을 참고하세요.

#### 버즈베네핏 진입점 UI 색상 변경하기

인터스티셜 지면에는 베네핏허브로 유도하기 위한 UI가 보입니다. 진입점 UI를 클릭 시 베네핏허브가 표시됩니다.

![](https://docs.buzzvil.com/api/content-image/buzzbenefit-android/v6/image/D-interstitial_feed_01.png)

인터스티셜 지면의 주요 색상은 전체 테마 색상을 따릅니다. 자세한 내용은 [전체 테마](https://docs.buzzvil.com/docs/buzzbenefit-android/v6/ui-configuration#%EC%A0%84%EC%B2%B4-%ED%85%8C%EB%A7%88) 토픽을 참고하세요.

![](https://docs.buzzvil.com/api/content-image/buzzbenefit-android/v6/image/A-interstitial_feed_01.png)

### 3 단계. 기본 연동 테스트하기

모든 기본 연동 단계를 완료한 후 광고가 정상적으로 할당되고 표시되는지 확인하세요. 그리고 베네핏허브 진입점이 제대로 동작하여 클릭하면 베네핏허브로 이동하는지 확인하세요.

## 추가 구현

### 광고 개수 설정하기

바텀 시트 형태의 인터스티셜 지면에는 한 번의 광고 요청으로 최대 5개의 광고를 표시할 수 있습니다.

광고 개수는 코드 수정 없이 버즈빌 서버에서 설정할 수 있습니다. 여러 개의 광고를 표시하려면 원하는 광고 개수를 버즈빌 담당자(<help@buzzvil.com>)에게 전달하세요.

![](https://docs.buzzvil.com/api/content-image/buzzbenefit-android/v6/image/M-interstitial_multipleAd.png)
