# Unity Ads Android SDK API 레퍼런스 - Kotlin 및 Java

> Unity Ads SDK 공개 API 레퍼런스에 액세스하여 Kotlin 및 Java에서 Android 앱의 광고 동작을 연동하고 제어하는 데 사용할 수 있는 클래스, 메서드, 프로퍼티를 확인합니다.

Android 애플리케이션에 Unity Ads를 연동할 때 Java 및 Kotlin용 Unity Ads Android SDK API 레퍼런스를 사용하세요.

이 API를 사용하기 전에 앱에서 Monetization을 활성화하기 위해 `UnityAds` 라이브러리를 가져왔는지 확인하세요. 자세한 내용은 [UnityAds 라이브러리 가져오기](/ads-android/4.19.0/sdk-integration/import-library.md)를 참조하세요.

## 클래스##classes

### BannerAd##bannerad

`BannerAd` 클래스는 배너 광고의 로드 및 표시를 관리합니다.

### BannerLoadConfiguration##bannerloadconfiguration

`BannerAd`을(를) 로드하는 데 필요한 옵션을 캡슐화합니다.

| **파라미터**            | **설명**                                       | **필수** |
| ------------------- | -------------------------------------------- | ------ |
| `placementId`       | 배너 배치에 대한 고유 식별자입니다.                         | 예      |
| `bannerSize`        | 광고의 `BannerSize`(픽셀 단위의 너비와 높이)입니다.          | 예      |
| `adMarkup`          | 입찰 시나리오를 위한 광고 마크업입니다.                       | 아니요    |
| `mediationInfo`     | 중재 파트너 정보입니다.                                | 아니요    |
| `mediationAdUnitId` | 성과 추적을 위해 중재에서 사용합니다.                        | 아니요    |
| `extras`            | 추가 키-값 매개변수 맵입니다.                            | 아니요    |
| `listener`          | 배너 수명 주기 이벤트를 처리하기 위한 BannerShowListener입니다. | 아니요    |

1. **Kotlin**

   ```kotlin
   val bannerLoadConfiguration = BannerLoadConfiguration.Builder("banner_placement", bannerSize)
   	.withAdMarkup("ad_markup")
   	.withMediationInfo(mediationInfo)
   	.withMediationAdUnitId("mediation_ad_unit_id")
     .withExtras(mapOf("key" to "value"))
     .withListener(bannerListener)
     .build()
   ```

2. **Java**

   ```java
   BannerLoadConfiguration bannerLoadConfiguration = BannerLoadConfiguration.Builder("banner_placement", bannerSize)
   	.withAdMarkup("ad_markup")
   	.withMediationInfo(mediationInfo)
   	.withMediationAdUnitId("mediation_ad_unit_id")
     .withExtras(Collections.singletonMap("key", "value"))
     .withListener(bannerListener)
     .build()
   ```

#### BannerLoadConfiguration.Builder##bannerloadconfiguration.builder

`BannerLoadConfiguration` 인스턴스를 생성하기 위한 빌더 클래스입니다.

##### 생성자##constructor

```kotlin
Builder(placementId: String, bannerSize: BannerSize)
```

| **파라미터**      | **설명**                              | **필수** |
| ------------- | ----------------------------------- | ------ |
| `placementId` | 배너 배치에 대한 고유 식별자입니다.                | 예      |
| `bannerSize`  | 광고의 `BannerSize`(픽셀 단위의 너비와 높이)입니다. | 예      |

**다음을 반환:**: 새 `BannerLoadConfiguration.Builder` 인스턴스.

##### 빌더 메서드##builder-methods

| **메서드**                            | **파라미터**                                                    | **필수** | **다음을 반환**                | **설명**                                                |
| ---------------------------------- | ----------------------------------------------------------- | ------ | ------------------------- | ----------------------------------------------------- |
| `withAdMarkup(String)`             | `adMarkup`: 입찰 시나리오를 위한 광고 마크업.                             | `No`   | `Builder`                 | 광고 마크업을 설정하고 체이닝을 위해 빌더를 반환합니다.                       |
| `withMediationInfo(MediationInfo)` | `mediationInfo`: 중재 파트너 정보.                                 | `No`   | `Builder`                 | 중재 정보를 설정하고 체이닝을 위해 빌더를 반환합니다.                        |
| `withMediationAdUnitId(String)`    | `mediationAdUnitId`: 중재에서 성과 추적을 위해 사용됩니다.                  | `No`   | `Builder`                 | 중재 광고 단위를 설정하고 체이닝을 위해 빌더를 반환합니다.                     |
| `withExtras(Map<String, String>)`  | `extras`: 추가 키-값 매개변수의 맵입니다. 이 메서드를 여러 번 호출하면 이전 값이 재정의됩니다. | `No`   | `Builder`                 | 추가 맵을 설정하고 체이닝을 위해 빌더를 반환합니다.                         |
| `withListener(BannerShowListener)` | `listener`: 배너 수명 주기 이벤트를 처리하기 위한 BannerShowListener입니다.    | `No`   | `Builder`                 | 표시 리스너를 설정하고 체이닝을 위해 빌더를 반환합니다.                       |
| `build()`                          | 없음                                                          | `No`   | `BannerLoadConfiguration` | 구성된 매개변수로 `BannerLoadConfiguration` 인스턴스를 생성하고 반환합니다. |

1. **Kotlin**

   ```kotlin
   val bannerLoadConfiguration = BannerLoadConfiguration.Builder("banner_placement", bannerSize)
       .withAdMarkup("ad_markup")
       .withMediationInfo(mediationInfo)
       .withMediationAdUnitId("mediation_ad_unit_id")
       .withExtras(mapOf("key" to "value"))
       .withListener(bannerListener)
       .build()
   ```

2. **Java**

   ```java
   BannerLoadConfiguration bannerLoadConfiguration = new BannerLoadConfiguration.Builder(\"banner_placement\", bannerSize)
       .withAdMarkup("ad_markup")
       .withMediationInfo(mediationInfo)
       .withMediationAdUnitId("mediation_ad_unit_id")
       .withExtras(Collections.singletonMap("key", "value"))
       .withListener(bannerListener)
       .build();
   ```

### load()##load()

지정된 BannerLoadConfiguration으로 배너 광고를 로드합니다.

| **파라미터**        | **설명**                                                            | **필수** |
| --------------- | ----------------------------------------------------------------- | ------ |
| `configuration` | 배너별 로딩 옵션을 포함하는 `BannerLoadConfiguration`의 인스턴스입니다.               | 예      |
| `listener`      | 로딩이 완료되면 호출되는 `BannerLoadListener`으로, `BannerAd` 인스턴스나 오류를 제공합니다. | 예      |

**반환값**: `Unit` (void) - 즉시 반환되는 비동기 메서드입니다. 결과는 `BannerLoadListener` 콜백을 통해 제공됩니다.

1. **Kotlin**

   ```kotlin
   val bannerSize = BannerSize(320, 50)
   val loadConfig = BannerLoadConfiguration.Builder("banner_placement", bannerSize).build()
   BannerAd.load(loadConfig, { bannerAd, error ->
       if (bannerAd != null) {
           // 배너가 성공적으로 로드되었습니다. 이제 뷰 계층 구조에 추가할 수 있습니다.
           this.bannerAd = bannerAd
       } else {
           // 로드 오류 처리
       }
   })
   ```

2. **Java**

   ```java
   BannerSize bannerSize = new BannerSize(320, 50);
   BannerLoadConfiguration loadConfig = new BannerLoadConfiguration.Builder(\"banner_placement\", bannerSize).build();
   BannerAd.load(loadConfig, (bannerAd, error) -> {
       if (bannerAd != null) {
           // 배너가 성공적으로 로드되었습니다. 이제 뷰 계층 구조에 추가할 수 있습니다.
           this.bannerAd = bannerAd;
       } else {
           // 로드 오류 처리
       }
   });
   ```

### view##view

배너 광고 인스턴스에 대한 액세스를 제공하는 뷰 속성입니다. 이 속성을 사용하여 앱의 기존 뷰 계층 구조 내 원하는 위치에 배너 광고를 삽입하십시오.

**반환값**: `View?` (nullable View) - 배너 광고를 포함하는 Android View이며, 광고가 성공적으로 로드되지 않은 경우 null을 반환합니다.

1. **Kotlin**

   ```kotlin
   // 'bannerAd'가 로드된 BannerAd 인스턴스라고 가정합니다.
   // 'adPlaceholder'가 광고를 표시하려는 레이아웃의 ViewGroup(예: LinearLayout, FrameLayout)이라고 가정합니다.

   bannerAd.view?.let {
       adPlaceholder.addView(it)
   }
   ```

2. **Java**

   ```java
   // 'bannerAd'가 로드된 BannerAd 인스턴스라고 가정합니다.
   // 'adPlaceholder'가 광고를 표시하려는 레이아웃의 ViewGroup(예: LinearLayout, FrameLayout)이라고 가정합니다.

   if (bannerAd.getView() != null) {
       adPlaceholder.addView(bannerAd.getView());
   }
   ```

### BannerView##bannerview

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정. 버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`BannerAd`](/ads-android/4.19.0/sdk-integration/api/android-api.md#bannerad)을 사용하십시오. `ad.getView()`를 통해 Android `View`에 액세스하십시오. 마이그레이션 세부 정보는 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참고하세요.

`BannerView` 클래스는 이전 배너 광고 로드 및 표시 API였습니다.

### BannerView\.IListener##bannerview\.ilistener

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정. 버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`BannerLoadListener`](/ads-android/4.19.0/sdk-integration/api/android-api.md#bannerloadlistener) 및 [`BannerShowListener`](/ads-android/4.19.0/sdk-integration/api/android-api.md#bannershowlistener)을(를) 사용하세요. 마이그레이션 세부 정보는 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참고하세요.

`BannerView.IListener`은(는) 이전 배너 광고 수명 주기 이벤트를 처리하기 위한 인터페이스였습니다.

### BannerSize##bannersize

배너 광고의 크기를 나타내는 데이터 클래스입니다.

| **파라미터** | **설명**           | **필수** |
| -------- | ---------------- | ------ |
| `width`  | 픽셀 단위의 배너 너비입니다. | 예      |
| `height` | 픽셀 단위의 배너 높이입니다. | 예      |

1. **Kotlin**

   ```kotlin
   val bannerSize = BannerSize(320, 50)
   ```

2. **Java**

   ```java
   BannerSize bannerSize = new BannerSize(320, 50);
   ```

### UnityBannerSize##unitybannersize

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정. 버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`BannerSize`](/ads-android/4.19.0/sdk-integration/api/android-api.md#bannersize)을 사용하십시오. 마이그레이션 세부 정보는 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)에서 확인하세요.

`UnityBannerSize`은(는) 이전 배너 광고 크기 열거형이었습니다.

## InitializationConfiguration##initializationconfiguration

SDK 초기화를 위한 모든 설정을 포함하는 클래스입니다. 이 클래스의 인스턴스는 `Builder`을(를) 사용하여 생성됩니다.

| **파라미터**            | **설명**                                                        | **필수** |
| ------------------- | ------------------------------------------------------------- | ------ |
| `gameId`            | Unity Ads Monetization 대시보드에서 제공하는 고유 게임 식별자입니다.              | 예      |
| `isTestModeEnabled` | 테스트 모드를 활성화하는 불리언 값입니다. true로 설정하면 테스트 광고만 표시됩니다. 기본값은 거짓입니다. | 아니요    |
| `logLevel`          | 로그 출력의 세부 정보 수준을 지정합니다. `LogLevel`을(를) 참고하세요. 기본값은 INFO입니다.   | 아니요    |
| `mediationInfo`     | 중재 파트너에 대한 정보가 포함된 객체입니다. `MediationInfo`를 참고하세요.             | 아니요    |
| `extras`            | 고급 구성을 위한 추가 키-값 매개변수 맵입니다.                                   | 아니요    |

### InitializationConfiguration.Builder##initializationconfiguration.builder

`InitializationConfiguration` 인스턴스를 생성하기 위한 빌더 클래스입니다.

#### 생성자##constructor

```kotlin
Builder(gameId: 문자열)
```

| **파라미터** | **설명**                                           | **필수** |
| -------- | ------------------------------------------------ | ------ |
| `gameId` | Unity Ads Monetization 대시보드에서 제공하는 고유 게임 식별자입니다. | 예      |

**다음을 반환:**: 새 `InitializationConfiguration.Builder` 인스턴스.

#### 빌더 메서드##builder-methods

| **메서드**                            | **파라미터**                                                                           | **필수** | **다음을 반환**                    | **설명**                                                    |
| ---------------------------------- | ---------------------------------------------------------------------------------- | ------ | ----------------------------- | --------------------------------------------------------- |
| `withTestMode(Boolean)`            | `isTestModeEnabled`: 테스트 모드를 활성화하는 불리언 값입니다. true로 설정하면 테스트 광고만 표시됩니다. 기본값은 거짓입니다. | `No`   | `Builder`                     | 테스트 모드를 설정하고 체이닝을 위해 빌더를 반환합니다.                           |
| `withLogLevel(LogLevel)`           | `logLevel`: 로그 출력의 세부 정보 수준을 지정합니다. 참고 `LogLevel`. 기본값은 INFO입니다.                   | `No`   | `Builder`                     | 로그 수준을 설정하고 체이닝을 위해 빌더를 반환합니다.                            |
| `withMediationInfo(MediationInfo)` | `mediationInfo`: 중재 파트너에 대한 정보가 포함된 객체입니다.                                         | `No`   | `Builder`                     | 중재 정보를 설정하고 체이닝을 위해 빌더를 반환합니다.                            |
| `withExtras(Map<String, String>)`  | `extras`: 고급 구성을 위한 추가 키-값 매개변수 맵입니다.                                              | `No`   | `Builder`                     | 추가 맵을 설정하고 체이닝을 위해 빌더를 반환합니다.                             |
| `build()`                          | 없음                                                                                 | `No`   | `InitializationConfiguration` | 구성된 매개변수로 `InitializationConfiguration` 인스턴스를 생성하고 반환합니다. |

1. **Kotlin**

   ```kotlin
   val config = InitializationConfiguration.Builder("YOUR_GAME_ID")
       .withTestMode(true)
       .withLogLevel(LogLevel.DEBUG)
       .withMediationInfo(mediationInfo)
       .withExtras(mapOf("key" to "value"))
       .build()
   ```

2. **Java**

   ```java
   InitializationConfiguration config = new InitializationConfiguration.Builder("YOUR_GAME_ID")
       .withTestMode(true)
       .withLogLevel(LogLevel.DEBUG)
       .withMediationInfo(mediationInfo)
       .withExtras(Collections.singletonMap("key", "value"))
       .build();
   ```

### initialize()##initialize()

지정된 구성으로 Unity Ads SDK를 초기화합니다. `InitializationListener`은(는) 초기화가 성공 또는 실패로 완료될 때 호출됩니다.

| **파라미터**        | **설명**                                                                                | **필수** |
| --------------- | ------------------------------------------------------------------------------------- | ------ |
| `configuration` | SDK를 초기화하는 데 필요한 설정이 포함된 `InitializationConfiguration` 객체입니다.                         | 지원 안 함 |
| `listener`      | `InitializationListener`은(는) 완료 시 호출되며, 성공 여부를 나타내거나 선택적 오류 메시지와 함께 실패 이유를 자세히 설명합니다. | 아니요    |

**반환값**: `Unit` (void) - 즉시 반환되는 비동기 메서드입니다. 결과는 `InitializationListener` 콜백을 통해 제공됩니다.

1. **Kotlin**

   ```kotlin
   @OptIn(UnityAdsExperimental::class)
   fun initializeUnityAds(context: 컨텍스트) {
       val config = InitializationConfiguration.Builder("YOUR_GAME_ID")
           .withTestMode(true)
           .build()

       val listener = InitializationListener { error ->
           if (error == null) {
               // Initialization successful
           } else {
               // Handle initialization error
           }
       }
       UnityAds.initialize(config, listener)
   }
   ```

2. **Java**

   ```java
   @OptIn(markerClass = UnityAdsExperimental.class)
   void initializeUnityAds(Context context) {
       InitializationConfiguration config = new InitializationConfiguration.Builder("YOUR_GAME_ID")
           .withTestMode(true)
           .build();

       InitializationListener listener = error -> {
           if (error == null) {
               // Initialization successful
           } else {
               // Handle initialization error
           }
       };
       UnityAds.initialize(config, listener);
   }
   ```

## InterstitialAd##interstitialad

`InterstitialAd` 클래스는 전체 화면 인터스티셜 광고의 로드 및 표시를 관리합니다.

### load()##load()

지정된 LoadConfiguration으로 인터스티셜 광고를 로드합니다.

| **파라미터**        | **설명**                                                                                         | **필수** |
| --------------- | ---------------------------------------------------------------------------------------------- | ------ |
| `configuration` | 광고 로드 옵션을 포함하는 `LoadConfiguration` 인스턴스.                                                       | 지원 안 함 |
| `listener`      | 로드가 완료되었을 때 호출되는 `LoadListener` 콜백입니다. 성공 시 `InterstitialAd` 인스턴스를 반환하고, 로드 실패 시 Error를 반환합니다. | 아니요    |

1. **Kotlin**

   ```kotlin
   InterstitialAd.load(loadConfig, {interstitialAd, error ->
       if (interstitialAd != null) {
           // 광고 로드 성공, 표시 준비 완료
           this.interstitialAd = interstitialAd
       } else {
           // 로드 오류 처리
       }
   })
   ```

2. **Java**

   ```java
   InterstitialAd.load(loadConfig, (interstitialAd, error) -> {
       if (interstitialAd != null) {
           // 광고 로드 성공, 표시 준비 완료
           this.interstitialAd = interstitialAd;
       } else {
           // 로드 오류 처리
       }
   });
   ```

### show()##show()

이전에 로드된 인터스티셜 광고를 표시합니다.

| **파라미터**        | **설명**                                    | **필수** |
| --------------- | ----------------------------------------- | ------ |
| `configuration` | 광고 표시 옵션을 포함하는 `ShowConfiguration` 인스턴스.  | 지원 안 함 |
| `listener`      | 광고 수명 주기 이벤트를 처리하기 위한 선택적 `ShowListener`. | 아니요    |

**반환값**: `Unit` (void) - 이 메서드는 광고 표시 프로세스를 시작한 후 즉시 반환됩니다. 수명 주기 이벤트는 `ShowListener` 콜백을 통해 제공됩니다.

1. **Kotlin**

   ```kotlin
   interstitialAd.show(showConfig, interstitialShowListener)
   ```

2. **Java**

   ```java
   interstitialAd.show(showConfig, interstitialShowListener);
   ```

## LoadConfiguration##loadconfiguration

`InterstitialAd` 및 `RewardedAd` 형식을 로드하기 위한 옵션을 캡슐화합니다.

| **파라미터**            | **설명**                                     | **필수** |
| ------------------- | ------------------------------------------ | ------ |
| `placementId`       | Unity 수익화 대시보드에서 찾을 수 있는 광고 게재 위치의 고유 식별자. | 예      |
| `adMarkup`          | 입찰 시나리오를 위한 광고 마크업.                        | 아니요    |
| `mediationInfo`     | 미디에이션 파트너 정보.                              | 아니요    |
| `mediationAdUnitId` | 성과 추적을 위해 미디에이션에서 사용됩니다.                   | 아니요    |
| `extras`            | 추가 키-값 매개변수 맵입니다.                          | 아니요    |

1. **Kotlin**

   ```kotlin
   val loadConfiguration = LoadConfiguration.Builder("interstitial_placement")
   	.withAdMarkup("ad_markup")
   	.withMediationInfo(mediationInfo)
   	.withMediationAdUnitId("mediation_ad_unit_id")
     .withExtras(mapOf("key" to "value")) 
     // 이 메서드를 여러 번 호출하면 이전 값이 재정의됩니다.
     .build()
   ```

2. **Java**

   ```java
   LoadConfiguration loadConfiguration = new LoadConfiguration.Builder("interstitial_placement")
   	.withAdMarkup("ad_markup")
   	.withMediationInfo(mediationInfo)
   	.withMediationAdUnitId("mediation_ad_unit_id")
     .withExtras(Collections.singletonMap("key", "value"))
     .build();
   ```

### LoadConfiguration.Builder##loadconfiguration.builder

`LoadConfiguration` 인스턴스를 생성하기 위한 빌더 클래스입니다.

#### 생성자##constructor

```kotlin
Builder(placementId: 문자열)
```

| **파라미터**      | **설명**                                     | **필수** |
| ------------- | ------------------------------------------ | ------ |
| `placementId` | Unity 수익화 대시보드에서 찾을 수 있는 광고 게재 위치의 고유 식별자. | 예      |

**다음을 반환:** 새 `LoadConfiguration.Builder` 인스턴스입니다.

#### 빌더 메서드##builder-methods

| **메서드**                            | **파라미터**                                                   | **필수** | **다음을 반환:**         | **설명**                                          |
| ---------------------------------- | ---------------------------------------------------------- | ------ | ------------------- | ----------------------------------------------- |
| `withAdMarkup(String)`             | `adMarkup`: 입찰 시나리오를 위한 광고 마크업입니다.                         | 지원 안 함 | `Builder`           | 광고 마크업을 설정하고 체이닝을 위해 빌더를 반환합니다.                 |
| `withMediationInfo(MediationInfo)` | `mediationInfo`: 미디에이션 파트너 정보입니다.                          | 아니요    | `Builder`           | 미디에이션 정보를 설정하고 체이닝을 위해 빌더를 반환합니다.               |
| `withMediationAdUnitId(String)`    | `mediationAdUnitId`: 성과 추적을 위해 미디에이션에서 사용됩니다.              | 아니요    | `Builder`           | 미디에이션 광고 단위 ID를 설정하고 체이닝을 위해 빌더를 반환합니다.         |
| `withExtras(Map<String, String>)`  | `extras`: 추가 키-값 매개변수 맵입니다. 이 메서드를 여러 번 호출하면 이전 값이 재정의됩니다. | 아니요    | `Builder`           | 추가 맵을 설정하고 체이닝을 위해 빌더를 반환합니다.                   |
| `build()`                          | 없음                                                         | 아니요    | `LoadConfiguration` | 구성된 매개변수로 `LoadConfiguration` 인스턴스를 생성하고 반환합니다. |

### UnityAdsLoadOptions##unityadsloadoptions

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정. 버전 5.0.0에서 삭제될 예정입니다.**
>
> [`LoadConfiguration.Builder`](/ads-android/4.19.0/sdk-integration/api/android-api.md#loadconfiguration.builder)을 대신 사용하십시오. 마이그레이션 세부정보는 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`UnityAdsLoadOptions`은(는) 광고 로드 옵션을 지정하기 위한 이전 클래스였습니다.

## MediationInfo##mediationinfo

사용 중인 미디에이션 파트너에 대한 정보가 포함된 클래스입니다.

| **파라미터**         | **설명**                          | **필수** |
| ---------------- | ------------------------------- | ------ |
| `name`           | 미디에이션 파트너의 이름입니다.               | 예      |
| `version`        | 미디에이션 파트너 SDK의 버전입니다.           | 예      |
| `adapterVersion` | 미디에이션 파트너용 Unity Ads 어댑터 버전입니다. | 예      |

1. **Kotlin**

   ```kotlin
   val mediationInfo = MediationInfo("partner_name", "1.2.3", "4.5.6")
   ```

2. **Java**

   ```java
   MediationInfo mediationInfo = new MediationInfo("partner_name", "1.2.3", "4.5.6");
   ```

### MediationMetaData##mediationmetadata

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정. 버전 5.0.0에서 삭제될 예정입니다.**
>
> [`MediationInfo`](/ads-android/4.19.0/sdk-integration/api/android-api.md#mediationinfo)을 대신 사용하십시오. 마이그레이션 세부정보는 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`MediationMetaData`은(는) 미디에이션 파트너 정보를 전달하기 위한 이전 클래스였습니다.

## RewardedAd##rewardedad

`RewardedAd` 클래스는 보상형 동영상 광고의 로드 및 표시를 관리합니다.

### load()##load()

지정된 `LoadConfiguration`으로 보상형 동영상 광고를 로드합니다.

| **파라미터**        | **설명**                                                     | **필수** |
| --------------- | ---------------------------------------------------------- | ------ |
| `configuration` | 광고 로드 옵션을 포함하는 `LoadConfiguration` 인스턴스.                   | 예      |
| `listener`      | 로드가 완료되면 호출되어 RewardedAd 인스턴스나 오류를 제공하는 `LoadListener`입니다. | 예      |

1. **Kotlin**

   ```kotlin
   RewardedAd.load(loadConfig, { rewardedAd, error ->
       if (rewardedAd != null) {
           // 광고 로드 성공, 표시 준비 완료
           this.rewardedAd = rewardedAd
       } else {
           // 로드 오류 처리
       }
   })
   ```

2. **Java**

   ```java
   RewardedAd.load(loadConfig, (rewardedAd, error) -> {
       if (rewardedAd != null) {
           // 광고 로드 성공, 표시 준비 완료
           this.rewardedAd = rewardedAd;
       } else {
           // 로드 오류 처리
       }
   });
   ```

### show()##show()

이전에 로드된 보상형 광고를 표시합니다.

| **파라미터**        | **설명**                                                | **필수** |
| --------------- | ----------------------------------------------------- | ------ |
| `configuration` | 광고 표시 옵션을 포함하는 `ShowConfiguration` 인스턴스.              | 예      |
| `listener`      | 사용자 보상 콜백을 포함한 광고 이벤트를 처리하기 위한 선택적 `ShowListener`입니다. | 예      |

**반환값**: `Unit` (void) - 이 메서드는 광고 표시 프로세스를 시작한 후 즉시 반환됩니다. 수명 주기 이벤트는 `ShowListener` 콜백을 통해 제공됩니다.

1. **Kotlin**

   ```kotlin
   rewardedAd.show(showConfig, rewardedAdShowListener)
   ```

2. **Java**

   ```java
   rewardedAd.show(showConfig, rewardedAdShowListener);
   ```

## ShowConfiguration##showconfiguration

`InterstitialAd` 및 `RewardedAd` 형식을 표시하기 위한 추가 옵션을 캡슐화합니다.

| **파라미터**             | **설명**                            | **필수** |
| -------------------- | --------------------------------- | ------ |
| `customRewardString` | 완료를 추적하는 데 사용됩니다.                 | 지원 안 함 |
| `extras`             | 광고를 표시할 때 전달되는 추가 키-값 매개변수의 맵입니다. | 아니요    |

1. **Kotlin**

   ```kotlin
   val showConfiguration = ShowConfiguration.Builder()
   .withCustomRewardString("custom_reward_string")
   .withExtras(mapOf("key" to "value"))
   .build()
   ```

2. **Java**

   ```java
   ShowConfiguration showConfiguration = new ShowConfiguration.Builder()
   .withCustomRewardString("custom_reward_string")
   .withExtras(Collections.singletonMap("key", "value"))
   .build();
   ```

### ShowConfiguration.Builder##showconfiguration.builder

`ShowConfiguration` 인스턴스를 생성하기 위한 빌더 클래스입니다.

#### 생성자##constructor

```kotlin
Builder()
```

**다음을 반환:** 새 `ShowConfiguration.Builder` 인스턴스입니다.

#### 빌더 메서드##builder-methods

| **메서드**                           | **파라미터**                                    | **필수**           | **다음을 반환:**         | **설명**                                          |
| --------------------------------- | ------------------------------------------- | ---------------- | ------------------- | ----------------------------------------------- |
| `withCustomRewardString(String)`  | `customRewardString`: 완료를 추적하는 데 사용됩니다.     | `No`             | `Builder`           | 사용자 지정 보상 문자열을 설정하고 체이닝을 위해 빌더를 반환합니다.          |
| `withExtras(Map<String, String>)` | `extras`: 광고를 표시할 때 전달되는 추가 키-값 매개변수의 맵입니다. | `No`             | `Builder`           | 추가 항목 맵을 설정하고 체이닝을 위해 빌더를 반환합니다.                |
| `build()`                         | 없음                                          | `Not applicable` | `ShowConfiguration` | 구성된 매개변수로 `ShowConfiguration` 인스턴스를 생성하고 반환합니다. |

### UnityAdsShowOptions##unityadsshowoptions

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정. 버전 5.0.0에서 삭제될 예정입니다.**
>
> 대신 [`ShowConfiguration.Builder`](/ads-android/4.19.0/sdk-integration/api/android-api.md#showconfiguration.builder)을(를) 사용하십시오. 마이그레이션 세부정보는 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`UnityAdsShowOptions`은(는) 광고 표시 옵션을 지정하기 위한 이전 클래스였습니다.

## TokenConfiguration##tokenconfiguration

입찰 토큰을 생성하기 위한 설정을 포함하는 클래스입니다.

| **파라미터**        | **설명**                                                    | **필수** |
| --------------- | --------------------------------------------------------- | ------ |
| `adFormat`      | 토큰을 생성할 AdFormat(예: `REWARDED`, `INTERSTITIAL`).          | 예      |
| `mediationInfo` | 미디에이션 파트너에 대한 정보를 포함하는 객체입니다. `MediationInfo`을(를) 참고하십시오. | 아니요    |
| `extras`        | 추가 키-값 매개변수의 맵입니다.                                        | 아니요    |

1. **Kotlin**

   ```kotlin
   val tokenConfig = TokenConfiguration.Builder(AdFormat.REWARDED)
       .withMediationInfo(mediationInfo)
       .withExtras(extras)
       .build()
   ```

2. **Java**

   ```java
   TokenConfiguration tokenConfig = new TokenConfiguration.Builder(AdFormat.REWARDED);
       .withMediationInfo(mediationInfo)
       .withExtras(extras)
       .build();
   ```

### TokenConfiguration.Builder##tokenconfiguration.builder

`TokenConfiguration` 인스턴스를 생성하기 위한 빌더 클래스입니다.

#### 생성자##constructor

```kotlin
Builder(adFormat: AdFormat)
```

| **파라미터**   | **설명**                                                     | **필수** |
| ---------- | ---------------------------------------------------------- | ------ |
| `adFormat` | 토큰을 생성할 광고 형식(예: `REWARDED`, `INTERSTITIAL`, `BANNER`)입니다. | 예      |

**다음을 반환:**: 새 `TokenConfiguration.Builder` 인스턴스입니다.

#### 빌더 메서드##builder-methods

| **메서드**                            | **파라미터**                                   | **필수**           | **다음을 반환:**          | **설명**                                           |
| ---------------------------------- | ------------------------------------------ | ---------------- | -------------------- | ------------------------------------------------ |
| `withMediationInfo(MediationInfo)` | `mediationInfo`: 중재 파트너에 대한 정보가 포함된 객체입니다. | `No`             | `Builder`            | 중재 정보를 설정하고 체이닝을 위해 빌더를 반환합니다.                   |
| `withExtras(Map<String, String>)`  | `extras`: 추가 키-값 매개변수의 맵입니다.               | `No`             | `Builder`            | 추가 맵을 설정하고 체이닝을 위해 빌더를 반환합니다.                    |
| `build()`                          | 없음                                         | `Not applicable` | `TokenConfiguration` | 구성된 매개변수로 `TokenConfiguration` 인스턴스를 생성하고 반환합니다. |

### getToken##gettoken

제공된 `TokenConfiguration`을(를) 기반으로 입찰 토큰을 가져와 토큰 리스너에 전달합니다.

| **파라미터**        | **설명**                                                     | **필수** |
| --------------- | ---------------------------------------------------------- | ------ |
| `configuration` | 광고 형식, 중재 정보 및 기타 매개변수를 지정하는 `TokenConfiguration` 객체입니다.   | 예      |
| `listener`      | 토큰을 성공적으로 가져오면 토큰과 함께 호출되고, 오류가 발생하면 null과 함께 호출되는 리스너입니다. | 예      |

**다음을 반환:** `Unit` (void) - 즉시 반환되는 비동기 메서드입니다. 결과는 `TokenListener` 콜백을 통해 제공됩니다.

1. **Kotlin**

   ```kotlin
   UnityAds.getToken(tokenConfig, listener)
   ```

2. **Java**

   ```java
   UnityAds.getToken(tokenConfig, listener);
   ```

## UnityAds##unityads

UnityAds 클래스는 SDK의 기본 진입점 역할을 하는 정적 클래스입니다. 이 클래스는 초기화, 토큰 검색을 처리하며 전역 SDK 속성에 대한 액세스를 제공합니다.

### 정적 변수##static-variables

#### isInitialized##isinitialized

Unity Ads SDK가 성공적으로 초기화되었는지 여부를 결정하는 부울 속성입니다.

**반환값**: Unity Ads SDK가 성공적으로 초기화된 경우 true입니다.

1. **Kotlin**

   ```kotlin
   val isInitialized = UnityAds.isInitialized
   ```

2. **Java**

   ```java
   boolean isInitialized = UnityAds.isInitialized();
   ```

#### version##version

현재 Unity Ads SDK 버전을 반환하는 문자열 속성입니다.

**다음을 반환:**: 현재 설치된 Unity Ads SDK 버전입니다.

1. **Kotlin**

   ```kotlin
   val sdkVersion = UnityAds.version
   ```

2. **Java**

   ```java
   String sdkVersion = UnityAds.getVersion();
   ```

#### userIdentifier##useridentifier

앱의 각 사용자에 대한 고유 ID를 나타내는 문자열 속성입니다.

**다음을 반환:**: 현재 값입니다.

1. **Kotlin**

   ```kotlin
   UnityAds.userIdentifier = "my-user-id"
   ```

2. **Java**

   ```java
   UnityAds.userIdentifier = "my-user-id";
   ```

### 개인정보##privacy

다음 메서드를 사용하여 개인정보 보호 및 사용자 동의 플래그를 설정하고 지원되는 개인정보 보호 규정을 준수하십시오.

#### setUserConsent()##setuserconsent()

개인 맞춤형 광고에 대한 사용자의 옵트인 선택 사항을 표시합니다.

#### setUserOptOut()##setuseroptout()

사용자에게 데이터 수집 및 개인 맞춤형 광고 수신 거부 옵션을 제공합니다.

#### setNonBehavioral()##setnonbehavioral()

문맥 기반(비개인 맞춤형) 광고 표시를 활성화합니다.

1. **Kotlin**

   ```kotlin
   UnityAds.userConsent = true

   UnityAds.userOptOut = false

   UnityAds.nonBehavioral = false
   ```

2. **Java**

   ```java
   UnityAds.setUserConsent(true);

   UnityAds.setUserOptOut(false);

   UnityAds.setNonBehavioral(false);
   ```

### MetaData##metadata

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** **버전 5.0.0에서 제거될 예정입니다.**
>
> [`UnityAds`](/ads-android/4.19.0/sdk-integration/api/android-api.md#unityads)의 유형화된 개인정보 보호 메서드인 `setUserConsent()`, `setUserOptOut()`, `setNonBehavioral()`를 사용하십시오. 마이그레이션에 대한 자세한 내용은 [Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`MetaData`은(는) GDPR 및 기타 개인정보 보호 관련 플래그를 설정하기 위한 이전 클래스였습니다.

## UnityAdsError##unityadserror

```kotlin
class UnityAdsError internal constructor(
    val code: Int,
    val message: 문자열
)
```

Unity Ads에서 오류가 발생할 경우 public에서 반환되는 예외입니다.

| **파라미터**          | **설명**          |
| ----------------- | --------------- |
| `message: String` | 오류와 관련된 메시지입니다. |
| `code: Int`       | 오류에 대한 코드입니다.   |

### BannerErrorCode##bannererrorcode

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** 버전 5.0.0에서 제거될 예정입니다.\*\*
>
> 대신 `UnityAdsError`을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`BannerErrorCode`은(는) 배너 관련 오류 코드에 대한 이전 열거형이었습니다.

### BannerErrorInfo##bannererrorinfo

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** 버전 5.0.0에서 제거될 예정입니다.\*\*
>
> 대신 `UnityAdsError`을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`BannerErrorInfo`은(는) 배너 오류 세부 정보를 캡슐화하던 이전 클래스였습니다.

### UnityAds.UnityAdsInitializationError##unityads.unityadsinitializationerror

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** 버전 5.0.0에서 제거될 예정입니다.\*\*
>
> 대신 `UnityAdsError`을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`UnityAds.UnityAdsInitializationError`은(는) 초기화 오류 유형에 대한 이전 중첩 열거형이었습니다.

### UnityAds.UnityAdsLoadError##unityads.unityadsloaderror

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** 버전 5.0.0에서 제거될 예정입니다.\*\*
>
> 대신 `UnityAdsError`을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`UnityAds.UnityAdsLoadError`은(는) 로드 오류 유형에 대한 이전 중첩 열거형이었습니다.

### UnityAds.UnityAdsShowError##unityads.unityadsshowerror

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** 버전 5.0.0에서 제거될 예정입니다.\*\*
>
> 대신 `UnityAdsError`을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`UnityAds.UnityAdsShowError`은(는) 표시 오류 유형에 대한 이전 중첩 열거형이었습니다.

## 인터페이스##interfaces

### BannerLoadListener##bannerloadlistener

`BannerAd` 로드 결과를 처리하기 위한 인터페이스입니다. 이 리스너는 배너 광고 로드 요청이 완료될 때 호출되며, 성공적으로 로드된 `BannerAd` 인스턴스 또는 오류를 제공합니다.

#### 메서드 서명##method-signature

```kotlin
fun interface BannerLoadListener {
    fun onBannerLoaded(bannerAd: BannerAd?, error: UnityAdsError?)
}
```

| **메서드**          | **매개변수**                                                                                             | **설명**                                              |
| ---------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| `onBannerLoaded` | `bannerAd`: 성공 시 로드된 `BannerAd` 인스턴스, 실패 시 null입니다. `error`: 실패를 설명하는 `UnityAdsError`, 성공 시 null입니다. | 배너 광고 로드 요청이 완료되면 호출됩니다. 매개변수 중 정확히 하나는 null이 아닙니다. |

1. **Kotlin**

   ```kotlin
   val bannerLoadListener = BannerLoadListener { bannerAd, error ->
       if (bannerAd != null) {
           // 배너 로드 성공
           this.bannerAd = bannerAd
           // 뷰 계층 구조에 banner.view를 추가합니다
       } else {
           // 로드 오류 처리
           Log.e(\"UnityAds\", \"Banner load failed: ${error?.message}\")
       }
   }
   ```

2. **Java**

   ```java
   BannerLoadListener bannerLoadListener = (bannerAd, error) -> {
       if (bannerAd != null) {
           // 배너 로드 성공
           this.bannerAd = bannerAd;
           // 뷰 계층 구조에 banner.getView()를 추가합니다
       } else {
           // 로드 오류 처리
           Log.e(\"UnityAds\", \"Banner load failed: \" + error.getMessage());
       }
   };
   ```

### BannerShowListener##bannershowlistener

`BannerAd`에 대한 표시 수명 주기 이벤트를 처리하기 위한 인터페이스입니다. 이 리스너는 배너의 표시 수명 주기 동안 다양한 단계에서 호출됩니다.

#### 메서드 서명##method-signatures

```kotlin
interface BannerShowListener {
    fun onBannerShown(bannerAd: BannerAd)
    fun onBannerClicked(bannerAd: BannerAd)
    fun onBannerFailedToShow(bannerAd: BannerAd, error: UnityAdsError)
}
```

| **메서드**                | **매개변수**                                                                      | **설명**                       |
| ---------------------- | ----------------------------------------------------------------------------- | ---------------------------- |
| `onBannerShown`        | `bannerAd`: 표시된 `BannerAd` 인스턴스입니다.                                           | 배너 광고가 화면에 성공적으로 표시되면 호출됩니다. |
| `onBannerClicked`      | `bannerAd`: 클릭된 `BannerAd` 인스턴스입니다.                                           | 사용자가 배너 광고를 클릭했을 때 호출됩니다.    |
| `onBannerFailedToShow` | `bannerAd`: 표시에 실패한 `BannerAd` 인스턴스입니다. `error`: 실패를 설명하는 `UnityAdsError`입니다. | 배너 광고 표시가 실패하면 호출됩니다.        |

1. **Kotlin**

   ```kotlin
   val bannerShowListener = object : BannerShowListener {
       override fun onBannerShown(bannerAd: BannerAd) {
           Log.d(\"UnityAds\", \"배너 표시됨\")
       }

       override fun onBannerClicked(bannerAd: BannerAd) {
           Log.d("UnityAds", "Banner clicked")
       }

       override fun onBannerFailedToShow(bannerAd: BannerAd, error: UnityAdsError) {
           Log.e(\"UnityAds\", \"배너 표시 실패: ${error.message}\")
       }
   }
   ```

2. **Java**

   ```java
   BannerShowListener bannerShowListener = new BannerShowListener() {
       @Override
       public void onBannerShown(BannerAd bannerAd) {
           Log.d(\"UnityAds\", \"배너 표시됨\");
       }

       @Override
       public void onBannerClicked(BannerAd bannerAd) {
           Log.d("UnityAds", "Banner clicked");
       }

       @Override
       public void onBannerFailedToShow(BannerAd bannerAd, UnityAdsError error) {
           Log.e("UnityAds", "Banner failed to show: " + error.getMessage());
       }
   };
   ```

### InitializationListener##initializationlistener

SDK 초기화 상태에 대한 콜백을 수신하기 위한 인터페이스입니다. 이 리스너는 SDK 초기화 프로세스가 완료되면 호출됩니다.

#### 메서드 서명##method-signature

```kotlin
fun interface InitializationListener {
    fun onInitializationComplete(error: UnityAdsError?)
}
```

| **메서드**                    | **매개변수**                                                  | **설명**                                            |
| -------------------------- | --------------------------------------------------------- | ------------------------------------------------- |
| `onInitializationComplete` | `error`: 실패를 설명하는 `UnityAdsError`이며, 초기화에 성공한 경우 null입니다. | SDK 초기화가 완료되면 호출됩니다. error가 null이면 초기화가 성공한 것입니다. |

1. **Kotlin**

   ```kotlin
   val listener = InitializationListener { error ->
       if (error == null) {
           Log.d("UnityAds", "SDK가 성공적으로 초기화되었습니다.")
       } else {
           Log.e("UnityAds", "SDK 초기화 실패: ${error.message}")
       }
   }
   ```

2. **Java**

   ```java
   InitializationListener listener = error -> {
       if (error == null) {
           Log.d("UnityAds", "SDK initialized successfully.");
       } else {
           Log.e("UnityAds", "SDK initialization failed: " + error.getMessage());
       }
   };
   ```

### IUnityAdsInitializationListener##iunityadsinitializationlistener

> **Warning:**
>
> **버전 4.19.0에서 사용 중단 예정입니다.** **버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`InitializationListener`](/ads-android/4.19.0/sdk-integration/api/android-api.md#initializationlistener)을(를) 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`IUnityAdsInitializationListener`은(는) 이전 SDK 초기화 콜백 인터페이스였습니다.

### InterstitialLoadListener##interstitialloadlistener

`InterstitialAd` 로드 결과를 처리하기 위한 인터페이스입니다. 이 리스너는 전면 광고 로드 요청이 완료될 때 호출되며, 성공적으로 로드된 `InterstitialAd` 인스턴스나 오류를 제공합니다.

#### 메서드 서명##method-signature

```kotlin
fun interface InterstitialLoadListener {
    fun onInterstitialLoaded(interstitialAd: InterstitialAd?, error: UnityAdsError?)
}
```

| **메서드**                | **매개변수**                                                                                                         | **설명**                                              |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| `onInterstitialLoaded` | `interstitialAd`: 성공 시 로드된 `InterstitialAd` 인스턴스, 실패 시 null입니다. `error`: 실패를 설명하는 `UnityAdsError`, 성공 시 null입니다. | 전면 광고 로드 요청이 완료되면 호출됩니다. 매개변수 중 정확히 하나는 null이 아닙니다. |

1. **Kotlin**

   ```kotlin
   val interstitialLoadListener = InterstitialLoadListener { interstitialAd, error ->
       if (interstitialAd != null) {
           // 전면 광고가 성공적으로 로드됨
           this.interstitialAd = interstitialAd
           // 이제 광고를 표시할 수 있습니다
       } else {
           // 로드 오류 처리
           Log.e("UnityAds", "전면 광고 로드 실패: ${error?.message}")
       }
   }
   ```

2. **Java**

   ```java
   InterstitialLoadListener interstitialLoadListener = (interstitialAd, error) -> {
       if (interstitialAd != null) {
           // 전면 광고가 성공적으로 로드됨
           this.interstitialAd = interstitialAd;
           // 이제 광고를 표시할 수 있습니다
       } else {
           // 로드 오류 처리
           Log.e("UnityAds", "Interstitial load failed: " + error.getMessage());
       }
   };
   ```

### RewardedLoadListener##rewardedloadlistener

`RewardedAd` 로드 결과를 처리하기 위한 인터페이스입니다. 이 리스너는 보상형 광고 로드 요청이 완료될 때 호출되며, 성공적으로 로드된 `RewardedAd` 인스턴스나 오류를 제공합니다.

#### 메서드 서명##method-signature

```kotlin
fun interface RewardedLoadListener {
    fun onRewardedLoaded(rewardedAd: RewardedAd?, error: UnityAdsError?)
}
```

| **메서드**            | **파라미터**                                                                                                    | **설명**                                               |
| ------------------ | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `onRewardedLoaded` | `rewardedAd`: 성공 시 로드된 `RewardedAd` 인스턴스, 로드 실패 시 null입니다. `error`: 실패를 설명하는 `UnityAdsError`, 성공 시 null입니다. | 보상형 광고 로드 요청이 완료되면 호출됩니다. 파라미터 중 하나는 반드시 null이 아닙니다. |

1. **Kotlin**

   ```kotlin
   val rewardedLoadListener = RewardedLoadListener { rewardedAd, error ->
       if (rewardedAd != null) {
           // 보상형 광고 로드 성공
           this.rewardedAd = rewardedAd
           // 이제 광고를 표시할 수 있습니다
       } else {
           // 로드 오류 처리
           Log.e(\"UnityAds\", \"Rewarded ad load failed: ${error?.message}\")
       }
   }
   ```

2. **Java**

   ```java
   RewardedLoadListener rewardedLoadListener = (rewardedAd, error) -> {
       if (rewardedAd != null) {
           // 보상형 광고 로드 성공
           this.rewardedAd = rewardedAd;
           // 이제 광고를 표시할 수 있습니다
       } else {
           // 로드 오류 처리
           Log.e(\"UnityAds\", \"Rewarded ad load failed: \" + error.getMessage());
       }
   };
   ```

### IUnityAdsLoadListener##iunityadsloadlistener

> **Warning:**
>
> **버전 4.19.0에서 지원 중단되었습니다. 버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`InterstitialLoadListener`](/ads-android/4.19.0/sdk-integration/api/android-api.md#interstitialloadlistener) 또는 [`RewardedLoadListener`](/ads-android/4.19.0/sdk-integration/api/android-api.md#rewardedloadlistener)을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`IUnityAdsLoadListener`은(는) 이전 광고 로드 콜백 인터페이스였습니다.

### ShowListener##showlistener

`ShowAd` 또는 `RewardedAd`에 대한 표시 수명 주기 이벤트를 처리하기 위한 인터페이스입니다. 이 제네릭 인터페이스는 광고 표시 수명 주기의 다양한 단계에 대한 콜백을 제공합니다.

#### 메서드 서명##method-signatures

```kotlin
interface ShowListener<T> {
    fun onStarted(unityAd: T)
    fun onClicked(unityAd: T)
    fun onCompleted(unityAd: T, 상태: ShowFinishState)
    fun onFailed(unityAd: T, 오류: UnityAdsError)
}

interface InterstitialShowListener : ShowListener<InterstitialAd>

// Specialized listener for RewardedAd with reward callback
interface RewardedShowListener : ShowListener<RewardedAd> {
    fun onRewarded(unityAd: RewardedAd)
}
```

| **메서드**                                | **파라미터**                                                                                     | **설명**                                                                   |
| -------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `onStarted`                            | `unityAd`: 표시를 시작한 광고 인스턴스(`InterstitialAd` 또는 `RewardedAd`)입니다.                             | 광고가 화면에 표시되기 시작할 때 호출됩니다.                                                |
| `onClicked`                            | `unityAd`: 클릭된 광고 인스턴스입니다.                                                                   | 사용자가 광고를 클릭할 때 호출됩니다.                                                    |
| `onCompleted`                          | `unityAd`: 완료된 광고 인스턴스입니다. `state`: 광고가 `COMPLETED`인지 `SKIPPED`인지 나타내는 `ShowFinishState`입니다. | 광고 표시가 완료될 때 호출됩니다. 보상형 광고의 경우, `COMPLETED` 상태는 사용자에게 보상을 지급해야 함을 나타냅니다. |
| `onFailed`                             | `unityAd`: 표시에 실패한 광고 인스턴스입니다. `error`: 실패 원인을 설명하는 `UnityAdsError`입니다.                      | 광고 표시에 실패할 때 호출됩니다.                                                      |
| `onRewarded` (RewardedShowListener 전용) | `unityAd`: 보상을 지급해야 하는 `RewardedAd` 인스턴스입니다.                                                 | 사용자가 보상형 광고를 끝까지 시청하여 보상을 획득했을 때 호출됩니다.                                  |

1. **Kotlin**

   ```kotlin
   val interstitialListener = object : InterstitialShowListener {
      override fun onStarted(unityAd: InterstitialAd) {
        // 작업 수행
      }

      override fun onClicked(unityAd: InterstitialAd) {
        // Do something
      }

      override fun onCompleted(unityAd: InterstitialAd, 상태: ShowFinishState) {
        // Do something
      }

      override fun onFailed(unityAd: InterstitialAd, error: UnityAdsError) {
        // Do something
      }
   }

   val rewardedListener = object : RewardedShowListener {
      override fun onStarted(unityAd: RewardedAd) {
        // Do something
      }

      override fun onClicked(unityAd: RewardedAd) {
        // Do something
      }

      override fun onCompleted(unityAd: RewardedAd, 상태: ShowFinishState) {
        // Do something
      }

      override fun onFailed(unityAd: RewardedAd, 오류: UnityAdsError) {
        // Do something
      }

      override fun onRewarded(unityAd: RewardedAd) {
        // Do something
      }
   }
   ```

2. **Java**

   ```java
   ShowListener<InterstitialAd> interstitialListener = new InterstitialShowListener() {
       @Override
       public void onStarted(InterstitialAd unityAd) {
           // 작업 수행
       }

       @Override
       public void onClicked(InterstitialAd unityAd) {
           // Do something
       }

       @Override
       public void onCompleted(InterstitialAd unityAd, ShowFinishState state) {
           // Do something
       }

       @Override
       public void onFailed(InterstitialAd unityAd, UnityAdsError error) {
           // Do something
       }
   };

   ShowListener<RewardedAd> rewardedListener = new RewardedShowListener() {
       @Override
       public void onStarted(RewardedAd unityAd) {
           // Do something
       }

       @Override
       public void onClicked(RewardedAd unityAd) {
           // Do something
       }

       @Override
       public void onCompleted(RewardedAd unityAd, ShowFinishState state) {
           // Do something
       }

       @Override
       public void onFailed(RewardedAd unityAd, UnityAdsError error) {
           // Do something
       }

       @Override
       public void onRewarded(RewardedAd unityAd) {
           // Do something
       }
   };
   ```

### IUnityAdsShowListener##iunityadsshowlistener

> **Warning:**
>
> **버전 4.19.0에서 지원 중단되었습니다. 버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`ShowListener`](/ads-android/4.19.0/sdk-integration/api/android-api.md#showlistener)을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`IUnityAdsShowListener`은(는) 이전 광고 표시 이벤트 콜백 인터페이스였습니다.

### TokenListener##tokenlistener

`getToken` 호출 결과를 수신하기 위한 인터페이스입니다. 이 리스너는 입찰 토큰 요청이 완료되면 호출됩니다.

#### 메서드 서명##method-signature

```kotlin
fun interface TokenListener {
    fun onTokenReady(token: String?)
}
```

| **메서드**        | **파라미터**                                              | **설명**                                                   |
| -------------- | ----------------------------------------------------- | -------------------------------------------------------- |
| `onTokenReady` | `token`: 성공 시 입찰 토큰(String)이며, 토큰 생성에 실패한 경우 null입니다. | 토큰 요청이 완료되면 호출됩니다. 토큰은 입찰을 위해 미디에이션 파트너의 SDK로 전달되어야 합니다. |

1. **Kotlin**

   ```kotlin
   val listener = TokenListener { token ->
       if (token != null) {
           // 토큰을 미디에이션 파트너의 SDK로 전달하십시오
           Log.d("UnityAds", "토큰 수신됨: $token")
       } else {
           // 토큰 검색 실패 처리
           Log.e(\"UnityAds\", \"토큰 검색 실패\")
       }
   }
   ```

2. **Java**

   ```java
   TokenListener listener = token -> {
       if (token != null) {
           // 토큰을 미디에이션 파트너의 SDK로 전달하십시오
           Log.d(\"UnityAds\", \"토큰 수신됨: \" + token);
       } else {
           // 토큰 검색 실패 처리
           Log.e(\"UnityAds\", \"토큰 검색 실패\");
       }
   };
   ```

### onAdExpired##onadexpired

`InterstitialAd` 및 `RewardedAd` 인스턴스에서 사용할 수 있는 메서드로, 광고 만료 이벤트를 처리할 콜백을 등록할 수 있습니다. 이 콜백은 광고가 더 이상 유효하지 않아 표시해서는 안 될 때 트리거됩니다.

#### 메서드 서명##method-signature

```kotlin
// On InterstitialAd
var onAdExpired: AdExpiredListener?
// On RewardedAd
var onAdExpired: AdExpiredListener?

fun interface AdExpiredListener {
    fun onAdExpired(ad: T) // T는 InterstitialAd 또는 RewardedAd입니다.
}
```

| **파라미터**   | **설명**                                      |
| ---------- | ------------------------------------------- |
| `callback` | **(필수)** 광고가 만료될 때 만료된 광고 인스턴스를 수신하는 함수입니다. |

**반환값**: `Unit` (void) - 이 메서드는 콜백을 등록하고 즉시 반환합니다.

1. **Kotlin**

   ```kotlin
   // For InterstitialAd
   interstitialAd.onAdExpired = AdExpiredListener { ad ->
       // 광고 만료 처리 - 새 광고 로드
       Log.d(\"UnityAds\", \"전면 광고가 만료되었습니다\")
       // 새 광고 로드
   }

   // For RewardedAd
   rewardedAd.onAdExpired = AdExpiredListener { ad ->
       // Handle ad expiration - load a new ad
       Log.d(\"UnityAds\", \"보상형 광고가 만료되었습니다\")
       // Load a new ad
   }
   ```

2. **Java**

   ```java
   // For InterstitialAd
   interstitialAd.setOnAdExpired(ad -> {
       // 광고 만료 처리 - 새 광고 로드
       Log.d("UnityAds", "Interstitial ad expired");
       // 새 광고 로드
   });

   // For RewardedAd
   rewardedAd.setOnAdExpired(ad -> {
       // Handle ad expiration - load a new ad
       Log.d("UnityAds", "Rewarded ad expired");
       // Load a new ad
   });
   ```

## 열거형##enums

### AdFormat##adformat

다양한 광고 형식에 대해 정의된 열거형입니다.

| **값**          | **설명**                                             |
| -------------- | -------------------------------------------------- |
| `INTERSTITIAL` | 앱의 자연스러운 전환 시점에 표시되는 전체 화면 광고로, 몇 초 후에 건너뛸 수 있습니다. |
| `REWARDED`     | 사용자가 인앱 보상을 받기 위해 옵트인하여 시청하는 전체 화면 광고입니다.          |
| `BANNER`       | 일반적으로 화면 상단이나 하단에 화면의 일부를 차지하는 광고입니다.              |

### LogLevel##loglevel

다양한 로그 상세 수준에 대한 열거형입니다.

| **값**      | **설명**                                             |
| ---------- | -------------------------------------------------- |
| `DISABLED` | Unity Ads와 관련된 로그를 출력하지 않습니다.                      |
| `INFO`     | 기본 수준입니다. 표준 통합 및 수명 주기 메시지를 표시합니다.                |
| `DEBUG`    | 디버깅 목적으로 상세한 로그를 표시합니다.                            |
| `ERROR`    | 초기화/로드/표시 작업에서 발생하는 필수 오류와 개발자가 주의해야 할 치명적인 실패입니다. |

### ShowFinishState##showfinishstate

광고가 표시된 후의 최종 상태를 설명하는 열거형입니다.

| **값**       | **설명**                                              |
| ----------- | --------------------------------------------------- |
| `SKIPPED`   | 사용자가 광고가 끝나기 전에 건너뛰었습니다.                            |
| `COMPLETED` | 광고를 끝까지 시청했습니다. `RewardedAd`의 경우, 이 상태는 보상을 트리거합니다. |

### UnityAds.UnityAdsShowCompletionState##unityads.unityadsshowcompletionstate

> **Warning:**
>
> **버전 4.19.0에서 지원 중단되었습니다. 버전 5.0.0에서 제거될 예정입니다.**
>
> 대신 [`ShowFinishState`](/ads-android/4.19.0/sdk-integration/api/android-api.md#showfinishstate)을 사용하십시오. 마이그레이션 세부 정보는 [Android 지원 중단 API](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md)를 참조하십시오.

`UnityAds.UnityAdsShowCompletionState`은(는) 광고 표시의 최종 상태에 대한 이전 중첩 열거형이었습니다.
