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

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

전체 화면 인터스티셜 광고를 표시하려면 `UnityAds` API를 사용합니다.

1. SDK를 [초기화](/grow/ads/android-sdk/initialize-sdk.md)합니다.
2. [`load`](/grow/ads/android-sdk/android-api.md#load) API를 사용하여 원하는 [광고 단위](/grow/dashboard/ad-units.md)에 광고를 로드합니다.
3. 광고가 로드되면 [`show`](/grow/ads/android-sdk/android-api.md#show) API를 사용하여 광고를 표시할 수 있습니다.

## 인터스티셜 광고 예시##interstitial-ad-example

이 예시에서는 Unity Ads가 성공적으로 초기화되기만 하면 게임 내 어느 곳에서나 `DisplayInterstitialAd`를 호출하여 인터스티셜 광고를 표시할 수 있습니다.

> **Note:**
>
> Unity Ads는 현재 실행 중인 작업에 대한 액세스 권한이 필요하므로 다음 예에서는 `getApplicationContext()`를 사용합니다.
> 이는 모든 구현에 적합하지 않을 수 있으므로 일부 커스터마이징이 필요할 수 있습니다(연동에 따라 다름).

1. **Java**

   ```java
     import android.app.Activity;
     import android.os.Bundle;
     import android.util.Log;

     import androidx.appcompat.app.AppCompatActivity;

     import com.unity3d.ads.IUnityAdsLoadListener;
     import com.unity3d.ads.IUnityAdsShowListener;
     import com.unity3d.ads.UnityAdsShowOptions;
     import com.unity3d.ads.example.R;

     import com.unity3d.ads.IUnityAdsInitializationListener;
     import com.unity3d.ads.UnityAds;

     public class ShowInterstitialAd extends AppCompatActivity implements IUnityAdsInitializationListener  {

     private String unityGameID = "1234567";
     private Boolean testMode = true;
     private String adUnitId = "video";

     private IUnityAdsLoadListener loadListener = new IUnityAdsLoadListener() {
        @Override
        public void onUnityAdsAdLoaded(String placementId) {
           UnityAds.show((Activity)getApplicationContext(), adUnitId, new UnityAdsShowOptions(), showListener);
        }

        @Override
        public void onUnityAdsFailedToLoad(String placementId, UnityAds.UnityAdsLoadError error, String message) {
           Log.e("UnityAdsExample", "Unity Ads failed to load ad for " + placementId + " with error: [" + error + "] " + message);
        }
     };

     private IUnityAdsShowListener showListener = new IUnityAdsShowListener() {
        @Override
        public void onUnityAdsShowFailure(String placementId, UnityAds.UnityAdsShowError error, String message) {
           Log.e("UnityAdsExample", "Unity Ads failed to show ad for " + placementId + " with error: [" + error + "] " + message);
        }

        @Override
        public void onUnityAdsShowStart(String placementId) {
           Log.v("UnityAdsExample", "onUnityAdsShowStart: " + placementId);
        }

        @Override
        public void onUnityAdsShowClick(String placementId) {
           Log.v("UnityAdsExample", "onUnityAdsShowClick: " + placementId);
        }

        @Override
        public void onUnityAdsShowComplete(String placementId, UnityAds.UnityAdsShowCompletionState state) {
           Log.v("UnityAdsExample", "onUnityAdsShowComplete: " + placementId);
        }
     };

     @Override
     protected void onCreate (Bundle savedInstanceState) {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.activity_main);
        // Initialize the SDK:
        UnityAds.initialize(getApplicationContext(), unityGameID, testMode, this);
     }

     @Override
     public void onInitializationComplete() {
        DisplayInterstitialAd();
     }

     @Override
     public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) {
        Log.e("UnityAdsExample", "Unity Ads initialization failed with error: [" + error + "] " + message);
     }

     // Implement a function to load an interstitial ad. The ad will start to show after the ad has been loaded.
     public void DisplayInterstitialAd () {
        UnityAds.load(adUnitId, loadListener);
     }
     }
   ```

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