# Android에서 인터스티셜 광고 구현

> Android 앱에서 인터스티셜 광고를 구현합니다. 광고 콘텐츠를 로드하고 Java 코드를 통해 표시하고 리스너를 사용하여 광고 이벤트를 관리합니다.

## 전면 광고 로드 예시##interstitial-ad-load-example

`LoadConfiguration.Builder`을(를) 사용하여 게재위치 ID와 미디에이션 메타데이터로 로드 요청을 구성하고, 선택적으로 입찰을 위한 광고 마크업을 포함하세요. 빌드된 구성을 `InterstitialAd.load()`에, `LoadListener`과(와) 함께 전달하세요. `onAdLoaded` 콜백은 성공 시 로드된 `InterstitialAd` 인스턴스를, 실패 시 `UnityAdsError`을(를) 수신합니다. 나중에 광고를 표시하려면 광고 인스턴스를 보관해야 합니다.

광고는 로드 후 표시되지 않으면 일정 시간이 지난 뒤 만료됩니다. 로드된 광고 인스턴스에 `onAdExpired`을(를) 설정하여 이를 감지하고 참조를 삭제하세요. 만료된 광고에서 `show()`을(를) 호출하면 실패합니다. 광고를 저장하는 동일한 블록에서 이 작업을 수행한 다음, 콜백을 사용하여 오래된 참조를 삭제하고 새로운 `load()` 호출을 트리거하여 다음에 필요할 때 유효한 광고가 준비되도록 하세요.

1. **Java**

   ```java
   InterstitialAd.load(loadConfig, (interstitialAd, error) -> {
       if (interstitialAd != null) {
           // 광고가 성공적으로 로드되었으며 표시할 준비가 되었습니다.
           this.interstitialAd = interstitialAd;
           interstitialAd.setOnAdExpired(expiredAd -> {
               this.interstitialAd = null;
               // 여기서 다시 로드하세요.
           });
       } else {
           // 로드 오류 처리
       }
   });
   ```

2. **Kotlin**

   ```kotlin
   InterstitialAd.load(loadConfig, {interstitialAd, error ->
       if (interstitialAd != null) {
           // 광고가 성공적으로 로드되었으며 표시할 준비가 되었습니다.
           this.interstitialAd = interstitialAd
           interstitialAd.onAdExpired = AdExpiredListener { _ ->
               this.interstitialAd = null
               // 여기서 다시 로드하세요.
           }
       } else {
           // 로드 오류 처리
       }
   })
   ```

## 전면 광고 표시 예시##interstitial-ad-show-example

보관된 `show()` 인스턴스에서 `InterstitialAd`을(를) 호출하고 activity, `ShowConfiguration`, `InterstitialShowListener`을(를) 전달하세요. 리스너는 광고 수명 주기의 각 단계에 대한 콜백을 제공합니다. 광고가 표시될 때 `onStarted`, 사용자가 광고와 상호작용할 때 `onClicked`, 광고가 닫힐 때 `onCompleted`, 오류가 발생할 때 `onFailed`이(가) 호출되며, `UnityAdsError` 인수를 통해 오류 세부 정보를 확인할 수 있습니다.

1. **Java**

   ```java
     loadedInterstitialAd.show(activity, new ShowConfiguration.Builder().build(), new InterstitialShowListener()
     {
        @Override
        public void onStarted(@NonNull InterstitialAd ad)   
        { /* 표시됨 */ }

        @Override
        public void onClicked(@NonNull InterstitialAd ad)   
        { /* 클릭됨 */ }

        @Override
        public void onCompleted(@NonNull InterstitialAd ad, @NonNull ShowFinishState state) 
        { /* 숨김 */ }

        @Override
        public void onFailed(@NonNull InterstitialAd ad, @NonNull UnityAdsError error)      
        { /* 실패 */ }
     } );

   ```

2. **Kotlin**

   ```kotlin
   loadedInterstitialAd.show(activity, ShowConfiguration.Builder().build(), object : InterstitialShowListener 
   {
     override fun onStarted(ad: InterstitialAd)                            
        { /* 표시됨 */ }
     override fun onClicked(ad: InterstitialAd)                            
        { /* 클릭됨 */ }
     override fun onCompleted(ad: InterstitialAd, 상태: ShowFinishState)  
        { /* 숨김 */ }
     override fun onFailed(ad: InterstitialAd, error: UnityAdsError)       
        { /* 실패 */ }
   })
   ```

**다음 단계**: 구현 내용을 한 단계 더 발전시키려면 [Android에서 보상형 광고 구현](/ads-android/4.19.0/sdk-integration/rewarded-ads.md) 기술 자료를 참조하십시오.
