# Unity Ads Android SDK API リファレンス - Kotlin および Java

> Unity Ads SDK のパブリック API リファレンスにアクセスして、Kotlin および Java で使用可能なクラス、メソッド、プロパティを表示し、Android アプリの広告動作を統合および制御できます。

Unity Ads を Android アプリケーションに統合する際は、この Unity Ads Android SDK API リファレンス（Java および Kotlin）を使用してください。

この API を使用する前に、アプリで収益化を有効にするために `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

| **メソッド**                           | **パラメーター**                                             | **必須** | **Returns**               | **説明**                                                 |
| ---------------------------------- | ------------------------------------------------------ | ------ | ------------------------- | ------------------------------------------------------ |
| `withAdMarkup(String)`             | `adMarkup`:入札シナリオ用の広告マークアップ。                           | `No`   | `Builder`                 | 広告マークアップを設定し、チェーン用にビルダーを返します。                          |
| `withMediationInfo(MediationInfo)` | `mediationInfo`:メディエーションパートナー情報。                       | `No`   | `Builder`                 | メディエーション情報を設定し、チェーン用にビルダーを返します。                        |
| `withMediationAdUnitId(String)`    | `mediationAdUnitId`:メディエーションによってパフォーマンスの追跡に使用されます。     | `No`   | `Builder`                 | メディエーション広告ユニットIDを設定し、チェーン用にビルダーを返します。                  |
| `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 の場合、テスト広告のみが表示されます。デフォルトは false です。 | いいえ    |
| `logLevel`          | ログ出力の詳細レベルを指定します。以下を参照してください `LogLevel`。デフォルトは INFO です。     | いいえ    |
| `mediationInfo`     | メディエーションパートナーに関する情報を含むオブジェクト。以下を参照してください `MediationInfo`。   | いいえ    |
| `extras`            | 高度な設定のための追加のキーと値のペアのマップ。                                    | いいえ    |

### InitializationConfiguration.Builder##initializationconfiguration.builder

`InitializationConfiguration` インスタンスを作成するためのビルダークラス。

#### コンストラクター##constructor

```kotlin
Builder(gameId:文字列)
```

| **パラメーター** | **説明**                                         | **必須** |
| ---------- | ---------------------------------------------- | ------ |
| `gameId`   | Unity Ads Monetization ダッシュボードから取得した一意のゲーム識別子。 | はい     |

**戻り値**:新しい `InitializationConfiguration.Builder` インスタンス。

#### ビルダーメソッド##builder-methods

| **メソッド**                           | **パラメーター**                                                                     | **必須** | **Returns**                   | **説明**                                                       |
| ---------------------------------- | ------------------------------------------------------------------------------ | ------ | ----------------------------- | ------------------------------------------------------------ |
| `withTestMode(Boolean)`            | `isTestModeEnabled`:テストモードを有効にするブーリアン。true の場合、テスト広告のみが表示されます。デフォルトは false です。 | `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` インスタンスを返し、読み込みに失敗した場合はエラーを返します。 | いいえ    |

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 Monetization ダッシュボードで確認できる、広告プレースメントの一意の識別子。 | はい     |
| `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 Monetization ダッシュボードで確認できる、広告プレースメントの一意の識別子。 | はい     |

**戻り値**:新しい `LoadConfiguration.Builder` インスタンス。

#### ビルダーメソッド##builder-methods

| **メソッド**                           | **パラメーター**                                                | **必須** | **Returns**         | **説明**                                                |
| ---------------------------------- | --------------------------------------------------------- | ------ | ------------------- | ----------------------------------------------------- |
| `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

| **メソッド**                          | **パラメーター**                             | **必須**           | **Returns**         | **説明**                                               |
| --------------------------------- | -------------------------------------- | ---------------- | ------------------- | ---------------------------------------------------- |
| `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` | トークンを生成する対象の AdFormat（例: `REWARDED`、`INTERSTITIAL`、`BANNER`）。 | はい     |

**戻り値**:新しい `TokenConfiguration.Builder` インスタンス。

#### ビルダーメソッド##builder-methods

| **メソッド**                           | **パラメーター**                                    | **必須**           | **Returns**          | **説明**                                                |
| ---------------------------------- | --------------------------------------------- | ---------------- | -------------------- | ----------------------------------------------------- |
| `withMediationInfo(MediationInfo)` | `mediationInfo`:メディエーションパートナーに関する情報を含むオブジェクト。 | `No`             | `Builder`            | メディエーション情報を設定し、チェーン用にビルダーを返します。                       |
| `withExtras(Map<String, String>)`  | `extras`:追加のキーと値のペアのマップ。                      | `No`             | `Builder`            | extrasマップを設定し、チェーン用にビルダーを返します。                        |
| `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

> **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:String
)
```

Unity Ads でエラーが発生した場合に公開される例外です。

| **パラメーター**        | **説明**           |
| ----------------- | ---------------- |
| `message: String` | エラーに関連するメッセージです。 |
| `code: Int`       | エラーのコードです。       |

### BannerErrorCode##bannererrorcode

> **Warning:**
>
> **バージョン4.19.0で非推奨となりました。バージョン5.0.0で削除される予定です。**
>
> 代わりに `UnityAdsError` を使用してください。移行の詳細については、[Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md) を参照してください。

`BannerErrorCode` は、バナー固有のエラーコードに使用されていた以前のenumです。

### BannerErrorInfo##bannererrorinfo

> **Warning:**
>
> **バージョン4.19.0で非推奨となりました。バージョン5.0.0で削除される予定です。**
>
> 代わりに `UnityAdsError` を使用してください。移行の詳細については、[Android deprecated APIs](/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 deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md) を参照してください。

`UnityAds.UnityAdsInitializationError` は、初期化エラータイプに使用されていた以前のネストされたenumです。

### UnityAds.UnityAdsLoadError##unityads.unityadsloaderror

> **Warning:**
>
> **バージョン4.19.0で非推奨となりました。バージョン5.0.0で削除される予定です。**
>
> 代わりに `UnityAdsError` を使用してください。移行の詳細については、[Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md) を参照してください。

`UnityAds.UnityAdsLoadError` は、読み込みエラータイプに使用されていた以前のネストされたenumです。

### UnityAds.UnityAdsShowError##unityads.unityadsshowerror

> **Warning:**
>
> **バージョン4.19.0で非推奨となりました。バージョン5.0.0で削除される予定です。**
>
> 代わりに `UnityAdsError` を使用してください。移行の詳細については、[Android deprecated APIs](/ads-android/4.19.0/sdk-integration/api/android-deprecated-apis.md) を参照してください。

`UnityAds.UnityAdsShowError` は、表示エラータイプに使用されていた以前のネストされたenumです。

## インターフェース##interfaces

### BannerLoadListener##bannerloadlistener

`BannerAd` の読み込み結果を処理するためのインターフェースです。このリスナーは、バナー広告の読み込みリクエストが完了したときに呼び出され、正常に読み込まれた `BannerAd` インスタンスまたはエラーのいずれかを提供します。

#### メソッドシグネチャ##method-signature

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

| **メソッド**         | **Parameters**                                                                                                              | **説明**                                                         |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| `onBannerLoaded` | `bannerAd`:成功した場合は読み込まれた `BannerAd` インスタンス、読み込みに失敗した場合はnullが返されます。`error`:失敗内容を説明する `UnityAdsError`。読み込みに成功した場合はnullが返されます。 | バナー広告の読み込みリクエストが完了したときに呼び出されます。パラメーターのうち、いずれか1つだけがnull以外になります。 |

1. **Kotlin**

   ```kotlin
   val bannerLoadListener = BannerLoadListener { bannerAd, error ->
       if (bannerAd != null) {
           // Banner loaded successfully
           this.bannerAd = bannerAd
           // Add banner.view to your view hierarchy
       } else {
           // Handle load error
           Log.e("UnityAds", "Banner load failed: ${error?.message}")
       }
   }
   ```

2. **Java**

   ```java
   BannerLoadListener bannerLoadListener = (bannerAd, error) -> {
       if (bannerAd != null) {
           // Banner loaded successfully
           this.bannerAd = bannerAd;
           // Add banner.getView() to your view hierarchy
       } else {
           // Handle load error
           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)
}
```

| **メソッド**               | **Parameters**                                                           | **説明**                       |
| ---------------------- | ------------------------------------------------------------------------ | ---------------------------- |
| `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", "Banner shown")
       }

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

       override fun onBannerFailedToShow(bannerAd:BannerAd, error:UnityAdsError) {
           Log.e("UnityAds", "Banner failed to show: ${error.message}")
       }
   }
   ```

2. **Java**

   ```java
   BannerShowListener bannerShowListener = new BannerShowListener() {
       @Override
       public void onBannerShown(BannerAd bannerAd) {
           Log.d("UnityAds", "Banner shown");
       }

       @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?)
}
```

| **メソッド**                   | **Parameters**                                       | **説明**                                               |
| -------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `onInitializationComplete` | `error`:失敗を説明する `UnityAdsError`、または初期化が成功した場合は null。 | SDK の初期化が完了したときに呼び出されます。error が null の場合、初期化は成功しました。 |

1. **Kotlin**

   ```kotlin
   val listener = InitializationListener { error ->
       if (error == null) {
           Log.d("UnityAds", "SDK initialized successfully.")
       } else {
           Log.e("UnityAds", "SDK initialization failed: ${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 deprecated APIs](/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?)
}
```

| **メソッド**               | **Parameters**                                                                                                                     | **説明**                                                               |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `onInterstitialLoaded` | `interstitialAd`:成功した場合は、読み込まれた `InterstitialAd` インスタンス、読み込みに失敗した場合は null。`error`:失敗の内容を説明する `UnityAdsError`、または読み込みに成功した場合は null。 | インタースティシャル広告のロードリクエストが完了したときに呼び出されます。パラメーターのうち、いずれか1つだけがnull以外になります。 |

1. **Kotlin**

   ```kotlin
   val interstitialLoadListener = InterstitialLoadListener { interstitialAd, error ->
       if (interstitialAd != null) {
           // インタースティシャル広告のロードに成功しました
           this.interstitialAd = interstitialAd
           // これで広告を表示できます
       } else {
           // ロードエラーを処理する
           Log.e("UnityAds", "Interstitial load failed: ${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?)
}
```

| **メソッド**           | **Parameters**                                                                                                         | **説明**                                                         |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| `onRewardedLoaded` | `rewardedAd`:読み込みに成功した場合は読み込まれた `RewardedAd` インスタンス、失敗した場合は null。`error`:失敗の内容を説明する `UnityAdsError`。読み込みに成功した場合は null。 | リワード広告の読み込みリクエストが完了したときに呼び出されます。パラメーターのうち、いずれか1つが必ず非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, state:ShowFinishState)
    fun onFailed(unityAd:T, error:UnityAdsError)
}

interface InterstitialShowListener :ShowListener<InterstitialAd>

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

| **メソッド**                              | **Parameters**                                                                | **説明**                                                                 |
| ------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `onStarted`                           | `unityAd`:表示を開始した広告インスタンス (`InterstitialAd` または `RewardedAd`)。                | 広告が画面に表示され始めると呼び出されます。                                                 |
| `onClicked`                           | `unityAd`:クリックされた広告インスタンス。                                                    | ユーザーが広告をクリックすると呼び出されます。                                                |
| `onCompleted`                         | `unityAd`:完了した広告インスタンス。`state`:広告が`ShowFinishState`か`COMPLETED`かを示す`SKIPPED`。 | 広告の表示が終了したときに呼び出されます。リワード広告の場合、`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, state:ShowFinishState) {
        // Do something
      }

      override fun onFailed(unityAd:InterstitialAd、エラー: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?)
}
```

| **メソッド**       | **Parameters**                                      | **説明**                                                               |
| -------------- | --------------------------------------------------- | -------------------------------------------------------------------- |
| `onTokenReady` | `token`:成功した場合は入札トークン（文字列）、トークンの生成に失敗した場合は null です。 | トークンのリクエストが完了したときに呼び出されます。トークンは、入札のためにメディエーションパートナーの SDK に渡す必要があります。 |

1. **Kotlin**

   ```kotlin
   val listener = TokenListener { token ->
       if (token != null) {
           // トークンをメディエーションパートナーの SDK に渡します
           Log.d("UnityAds", "Token received: $token")
       } else {
           // トークンの取得失敗を処理します
           Log.e("UnityAds", "Token retrieval failed")
       }
   }
   ```

2. **Java**

   ```java
   TokenListener listener = token -> {
       if (token != null) {
           // トークンをメディエーションパートナーの SDK に渡します
           Log.d("UnityAds", "Token received: " + token);
       } else {
           // トークンの取得失敗を処理します
           Log.e("UnityAds", "Token retrieval failed");
       }
   };
   ```

### 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", "Interstitial ad expired")
       // 新しい広告を読み込む
   }

   // For RewardedAd
   rewardedAd.onAdExpired = AdExpiredListener { ad ->
       // Handle ad expiration - load a new ad
       Log.d("UnityAds", "Rewarded ad expired")
       // 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`は、広告表示の最終状態に関する以前のネストされた列挙型でした。
