> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adrop.io/llms.txt
> Use this file to discover all available pages before exploring further.

# リファレンス

> Adrop iOS SDKのクラス、プロトコル、列挙型、型定義です。

## クラス

### Adrop

SDKのメインクラスです。SDKの初期化とグローバル設定を管理します。

#### 静的メソッド

| メソッド                                                      | 戻り値の型                     | 説明                     |
| --------------------------------------------------------- | ------------------------- | ---------------------- |
| `initialize(production:useInAppBrowser:targetCountries:)` | `void`                    | SDKの初期化                |
| `setUID(_:)`                                              | `void`                    | ユーザー識別子の設定             |
| `setTheme(_:)`                                            | `void`                    | アプリテーマの設定              |
| `handleDeepLink(url:)`                                    | `Bool`                    | ディープリンクの処理             |
| `openQuest(channel:path:)`                                | `@discardableResult Bool` | Quest画面を開く             |
| `registerWebView(_:)`                                     | `void`                    | バックフィル広告用のWKWebViewを登録 |

#### 静的プロパティ

| プロパティ            | 型                      | 説明                                                  |
| ---------------- | ---------------------- | --------------------------------------------------- |
| `sdkVersion`     | `String`               | SDKバージョン (読み取り専用)                                   |
| `consentManager` | `AdropConsentManager?` | Consent Manager (AdropAdsBackfillインストール時に自動設定、読み書き) |

#### 初期化メソッド

```swift theme={null}
static func initialize(
    production: Bool = false,
    useInAppBrowser: Bool = false,
    targetCountries: [String]? = nil
)
```

<ParamField body="production" type="Bool" default="false">
  プロダクションモード。デプロイ時に`true`に設定
</ParamField>

<ParamField body="useInAppBrowser" type="Bool" default="false">
  インアプリブラウザの使用有無。`true`の場合、広告クリック時にアプリ内で開く
</ParamField>

<ParamField body="targetCountries" type="[String]?" default="nil">
  ターゲット国コード配列 (例: \["KR", "US"])。`nil`の場合すべての国
</ParamField>

**使用例:**

```swift theme={null}
// AppDelegate.swift
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
    Adrop.initialize(production: false)
    return true
}
```

#### ユーザー識別子の設定

```swift theme={null}
static func setUID(_ uid: String)
```

<ParamField body="uid" type="String" required>
  ユーザーを識別するための一意のID (最大100文字)
</ParamField>

**使用例:**

```swift theme={null}
Adrop.setUID("user_12345")
```

#### テーマ設定

```swift theme={null}
static func setTheme(_ theme: AdropTheme)
```

<ParamField body="theme" type="AdropTheme" required>
  アプリテーマ (light, dark, auto)
</ParamField>

**使用例:**

```swift theme={null}
Adrop.setTheme(.dark)
```

***

### AdropBanner

バナー広告を表示するクラスです。`UIView`を継承します。

#### 初期化

```swift theme={null}
init(unitId: String, contextId: String = "")
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したバナー広告ユニットID
</ParamField>

<ParamField body="contextId" type="String">
  コンテキストターゲティングID（デフォルト：空文字列）
</ParamField>

#### メソッド

| メソッド                       | 戻り値の型  | 説明                             |
| -------------------------- | ------ | ------------------------------ |
| `load()`                   | `void` | 広告リクエストと読み込み                   |
| `open(_:useInAppBrowser:)` | `void` | URLを開く（デフォルトは`destinationURL`） |

#### 静的メソッド

| メソッド                                | 戻り値の型  | 説明                                                            |
| ----------------------------------- | ------ | ------------------------------------------------------------- |
| `loads(unitId:contextId:delegate:)` | `void` | 最大5個のバナー広告を一括ロード — [一括ロード](/ja/sdk/ios/banner#一括ロード-loads) 参照 |

#### 静的プロパティ

| プロパティ           | 型     | 説明                           |
| --------------- | ----- | ---------------------------- |
| `maxLoadsBatch` | `Int` | `loads(...)`が返す広告の最大数（値：`5`） |

#### プロパティ

| プロパティ                 | 型                                          | 説明                               |
| --------------------- | ------------------------------------------ | -------------------------------- |
| `unitId`              | `String`                                   | ユニットID (読み取り専用)                  |
| `contextId`           | `String`                                   | コンテキストターゲティングID (読み取り専用、initで設定) |
| `creativeSize`        | `CGSize`                                   | 広告クリエイティブサイズ (読み取り専用、デフォルトはzero) |
| `destinationURL`      | `String?`                                  | 広告遷移先URL (読み取り専用)                |
| `txId`                | `String`                                   | トランザクションID (読み取り専用)              |
| `campaignId`          | `String`                                   | キャンペーンID (読み取り専用)                |
| `creativeId`          | `String`                                   | クリエイティブID (読み取り専用)               |
| `isBackfilled`        | `Bool`                                     | バックフィル広告かどうか (読み取り専用)            |
| `useCustomClick`      | `Bool`                                     | カスタムクリック処理を使用するかどうか (読み書き)       |
| `browserTarget`       | `BrowserTarget?`                           | 広告クリック時のURL表示方法 (読み取り専用)         |
| `delegate`            | `AdropBannerDelegate?`                     | デリゲート (読み書き)                     |
| `onAdReceived`        | `((AdropBanner) -> Void)?`                 | 広告受信時のクロージャ                      |
| `onAdFailedToReceive` | `((AdropBanner, AdropErrorCode) -> Void)?` | 広告受信失敗時のクロージャ                    |
| `onAdImpression`      | `((AdropBanner) -> Void)?`                 | 広告インプレッション時のクロージャ                |
| `onAdClicked`         | `((AdropBanner) -> Void)?`                 | 広告クリック時のクロージャ                    |
| `onAdVideoStart`      | `((AdropBanner) -> Void)?`                 | 動画再生開始時のクロージャ                    |
| `onAdVideoEnd`        | `((AdropBanner) -> Void)?`                 | 動画再生終了時のクロージャ                    |

**使用例:**

```swift theme={null}
let banner = AdropBanner(unitId: "YOUR_UNIT_ID", contextId: "article_123")
banner.delegate = self
banner.load()
```

***

### AdropNativeAd

ネイティブ広告データを管理するクラスです。

#### 初期化

```swift theme={null}
init(unitId: String, contextId: String = "")
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したネイティブ広告ユニットID
</ParamField>

<ParamField body="contextId" type="String">
  コンテキストターゲティングID（デフォルト：空文字列）
</ParamField>

#### メソッド

| メソッド                       | 戻り値の型  | 説明                             |
| -------------------------- | ------ | ------------------------------ |
| `load()`                   | `void` | 広告リクエストと読み込み                   |
| `open(_:useInAppBrowser:)` | `void` | URLを開く（デフォルトは`destinationURL`） |

#### 静的メソッド

| メソッド                                | 戻り値の型  | 説明                                                              |
| ----------------------------------- | ------ | --------------------------------------------------------------- |
| `loads(unitId:contextId:delegate:)` | `void` | 最大5個のネイティブ広告を一括ロード — [一括ロード](/ja/sdk/ios/native#一括ロード-loads) 参照 |

#### 静的プロパティ

| プロパティ           | 型     | 説明                           |
| --------------- | ----- | ---------------------------- |
| `maxLoadsBatch` | `Int` | `loads(...)`が返す広告の最大数（値：`5`） |

#### プロパティ

| プロパティ                        | 型                                            | 説明                                                       |
| ---------------------------- | -------------------------------------------- | -------------------------------------------------------- |
| `unitId`                     | `String`                                     | ユニットID (読み取り専用)                                          |
| `contextId`                  | `String`                                     | コンテキストターゲティングID (読み取り専用、initで設定)                         |
| `txId`                       | `String`                                     | トランザクションID (読み取り専用)                                      |
| `campaignId`                 | `String`                                     | キャンペーンID (読み取り専用)                                        |
| `creativeId`                 | `String`                                     | クリエイティブID (読み取り専用)                                       |
| `isLoaded`                   | `Bool`                                       | 広告が読み込まれたかどうか (読み取り専用)                                   |
| `isBackfilled`               | `Bool`                                       | バックフィル広告かどうか (読み取り専用)                                    |
| `headline`                   | `String`                                     | 広告タイトル (読み取り専用)                                          |
| `body`                       | `String`                                     | 広告本文 (読み取り専用)                                            |
| `callToAction`               | `String`                                     | CTAボタンテキスト (読み取り専用)                                      |
| `icon`                       | `String`                                     | 広告アイコンURL (読み取り専用)                                       |
| `cover`                      | `String`                                     | 広告カバー画像URL (読み取り専用)                                      |
| `asset`                      | `String`                                     | メイン画像URL (読み取り専用)                                        |
| `creative`                   | `String`                                     | HTMLクリエイティブコンテンツ (読み取り専用)                                |
| `advertiser`                 | `String`                                     | 広告主名 (読み取り専用)                                            |
| `advertiserURL`              | `String`                                     | 広告主URL (読み取り専用)                                          |
| `profile`                    | `AdropNativeAdProfile`                       | 広告主プロフィール (読み取り専用)                                       |
| `extra`                      | `[String: String]`                           | 追加テキストフィールド (読み取り専用)                                     |
| `accountTag`                 | `[String: Any]`                              | アカウントタグデータ (読み取り専用)                                      |
| `creativeTag`                | `[String: Any]`                              | クリエイティブタグデータ (読み取り専用)                                    |
| `creativeSize`               | `CGSize`                                     | 広告クリエイティブサイズ (読み取り専用、デフォルトはzero)                         |
| `destinationURL`             | `String?`                                    | 広告遷移先URL (読み取り専用)                                        |
| `useCustomClick`             | `Bool`                                       | カスタムクリック処理を使用するかどうか (読み書き)                               |
| `preferredAdChoicesPosition` | `AdropAdChoicesPosition`                     | バックフィルネイティブ広告のAdChoicesマーク表示位置 (読み書き、デフォルト: `.topRight`) |
| `browserTarget`              | `BrowserTarget?`                             | 広告クリック時のURL表示方法 (読み取り専用)                                 |
| `delegate`                   | `AdropNativeAdDelegate?`                     | デリゲート (読み書き)                                             |
| `onAdReceived`               | `((AdropNativeAd) -> Void)?`                 | 広告受信時のクロージャ                                              |
| `onAdFailedToReceive`        | `((AdropNativeAd, AdropErrorCode) -> Void)?` | 広告受信失敗時のクロージャ                                            |
| `onAdImpression`             | `((AdropNativeAd) -> Void)?`                 | 広告インプレッション時のクロージャ                                        |
| `onAdClicked`                | `((AdropNativeAd) -> Void)?`                 | 広告クリック時のクロージャ                                            |
| `onAdVideoStart`             | `((AdropNativeAd) -> Void)?`                 | 動画再生開始時のクロージャ                                            |
| `onAdVideoEnd`               | `((AdropNativeAd) -> Void)?`                 | 動画再生終了時のクロージャ                                            |

**使用例:**

```swift theme={null}
let nativeAd = AdropNativeAd(unitId: "YOUR_UNIT_ID")
nativeAd.delegate = self
nativeAd.load()

// 広告読み込み後
titleLabel.text = nativeAd.headline
bodyLabel.text = nativeAd.body
ctaButton.setTitle(nativeAd.callToAction, for: .normal)
```

***

### AdropInterstitialAd

インタースティシャル広告を表示するクラスです。

#### 初期化

```swift theme={null}
init(unitId: String)
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したインタースティシャル広告ユニットID
</ParamField>

#### メソッド

| メソッド                            | 戻り値の型  | 説明        |
| ------------------------------- | ------ | --------- |
| `load()`                        | `void` | 広告の事前読み込み |
| `show(fromRootViewController:)` | `void` | 広告の表示     |

##### showメソッド

```swift theme={null}
func show(fromRootViewController viewController: UIViewController)
```

<ParamField body="viewController" type="UIViewController" required>
  広告を表示するルートビューコントローラー
</ParamField>

#### プロパティ

| プロパティ                        | 型                                                  | 説明                       |
| ---------------------------- | -------------------------------------------------- | ------------------------ |
| `delegate`                   | `AdropInterstitialAdDelegate?`                     | デリゲート (読み書き)             |
| `isLoaded`                   | `Bool`                                             | 広告が読み込まれたかどうか (読み取り専用)   |
| `unitId`                     | `String`                                           | ユニットID (読み取り専用)          |
| `txId`                       | `String`                                           | トランザクションID (読み取り専用)      |
| `campaignId`                 | `String`                                           | キャンペーンID (読み取り専用)        |
| `creativeId`                 | `String`                                           | クリエイティブID (読み取り専用)       |
| `isBackfilled`               | `Bool`                                             | バックフィル広告かどうか (読み取り専用)    |
| `destinationURL`             | `String`                                           | 広告遷移先URL (読み取り専用)        |
| `browserTarget`              | `BrowserTarget?`                                   | 広告クリック時のURL表示方法 (読み取り専用) |
| `onAdReceived`               | `((AdropInterstitialAd) -> Void)?`                 | 広告受信時のクロージャ              |
| `onAdFailedToReceive`        | `((AdropInterstitialAd, AdropErrorCode) -> Void)?` | 広告受信失敗時のクロージャ            |
| `onAdImpression`             | `((AdropInterstitialAd) -> Void)?`                 | 広告インプレッション時のクロージャ        |
| `onAdClicked`                | `((AdropInterstitialAd) -> Void)?`                 | 広告クリック時のクロージャ            |
| `onAdWillPresentFullScreen`  | `((AdropInterstitialAd) -> Void)?`                 | 広告表示前のクロージャ              |
| `onAdDidPresentFullScreen`   | `((AdropInterstitialAd) -> Void)?`                 | 広告表示後のクロージャ              |
| `onAdWillDismissFullScreen`  | `((AdropInterstitialAd) -> Void)?`                 | 広告を閉じる前のクロージャ            |
| `onAdDidDismissFullScreen`   | `((AdropInterstitialAd) -> Void)?`                 | 広告を閉じた後のクロージャ            |
| `onAdFailedToShowFullScreen` | `((AdropInterstitialAd, AdropErrorCode) -> Void)?` | 広告表示失敗時のクロージャ            |

**使用例:**

```swift theme={null}
let interstitial = AdropInterstitialAd(unitId: "YOUR_UNIT_ID")
interstitial.delegate = self
interstitial.load()

// 広告読み込み後
if interstitial.isLoaded {
    interstitial.show(fromRootViewController: self)
}
```

***

### AdropRewardedAd

リワード広告を表示するクラスです。

#### 初期化

```swift theme={null}
init(unitId: String)
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したリワード広告ユニットID
</ParamField>

#### メソッド

| メソッド                                                     | 戻り値の型  | 説明                 |
| -------------------------------------------------------- | ------ | ------------------ |
| `load()`                                                 | `void` | 広告の事前読み込み          |
| `show(fromRootViewController:userDidEarnRewardHandler:)` | `void` | 広告の表示とリワードハンドラーの設定 |

##### showメソッド

```swift theme={null}
func show(
    fromRootViewController viewController: UIViewController,
    userDidEarnRewardHandler: @escaping (_ type: Int, _ amount: Int) -> Void
)
```

<ParamField body="viewController" type="UIViewController" required>
  広告を表示するルートビューコントローラー
</ParamField>

<ParamField body="userDidEarnRewardHandler" type="(_ type: Int, _ amount: Int) -> Void" required>
  ユーザーがリワードを獲得したときに呼び出されるクロージャ。`type`はリワードの種類、`amount`はAd Controlコンソールで設定したリワード数量です。
</ParamField>

#### プロパティ

| プロパティ                           | 型                                              | 説明                       |
| ------------------------------- | ---------------------------------------------- | ------------------------ |
| `delegate`                      | `AdropRewardedAdDelegate?`                     | デリゲート (読み書き)             |
| `isLoaded`                      | `Bool`                                         | 広告が読み込まれたかどうか (読み取り専用)   |
| `unitId`                        | `String`                                       | ユニットID (読み取り専用)          |
| `txId`                          | `String`                                       | トランザクションID (読み取り専用)      |
| `campaignId`                    | `String`                                       | キャンペーンID (読み取り専用)        |
| `creativeId`                    | `String`                                       | クリエイティブID (読み取り専用)       |
| `isBackfilled`                  | `Bool`                                         | バックフィル広告かどうか (読み取り専用)    |
| `destinationURL`                | `String`                                       | 広告遷移先URL (読み取り専用)        |
| `browserTarget`                 | `BrowserTarget?`                               | 広告クリック時のURL表示方法 (読み取り専用) |
| `serverSideVerificationOptions` | `AdropServerSideVerificationOptions?`          | サーバーサイド検証オプション (読み書き)    |
| `onAdReceived`                  | `((AdropRewardedAd) -> Void)?`                 | 広告受信時のクロージャ              |
| `onAdFailedToReceive`           | `((AdropRewardedAd, AdropErrorCode) -> Void)?` | 広告受信失敗時のクロージャ            |
| `onAdImpression`                | `((AdropRewardedAd) -> Void)?`                 | 広告インプレッション時のクロージャ        |
| `onAdClicked`                   | `((AdropRewardedAd) -> Void)?`                 | 広告クリック時のクロージャ            |
| `onAdWillPresentFullScreen`     | `((AdropRewardedAd) -> Void)?`                 | 広告表示前のクロージャ              |
| `onAdDidPresentFullScreen`      | `((AdropRewardedAd) -> Void)?`                 | 広告表示後のクロージャ              |
| `onAdWillDismissFullScreen`     | `((AdropRewardedAd) -> Void)?`                 | 広告を閉じる前のクロージャ            |
| `onAdDidDismissFullScreen`      | `((AdropRewardedAd) -> Void)?`                 | 広告を閉じた後のクロージャ            |
| `onAdFailedToShowFullScreen`    | `((AdropRewardedAd, AdropErrorCode) -> Void)?` | 広告表示失敗時のクロージャ            |

**使用例:**

```swift theme={null}
let rewardedAd = AdropRewardedAd(unitId: "YOUR_UNIT_ID")
rewardedAd.delegate = self
rewardedAd.load()

// 広告読み込み後
if rewardedAd.isLoaded {
    rewardedAd.show(fromRootViewController: self) { type, amount in
        print("ユーザーがリワードを獲得しました！ type: \(type), amount: \(amount)")
        // リワード付与ロジック
    }
}
```

***

### AdropPopupAd

ポップアップ広告を表示するクラスです。

#### 初期化

```swift theme={null}
init(unitId: String)
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したポップアップ広告ユニットID
</ParamField>

#### メソッド

| メソッド                            | 戻り値の型  | 説明                             |
| ------------------------------- | ------ | ------------------------------ |
| `load()`                        | `void` | 広告の事前読み込み                      |
| `show(fromRootViewController:)` | `void` | 広告の表示                          |
| `close()`                       | `void` | 広告を閉じる                         |
| `open(_:useInAppBrowser:)`      | `void` | URLを開く（デフォルトは`destinationURL`） |

##### showメソッド

```swift theme={null}
func show(fromRootViewController viewController: UIViewController)
```

<ParamField body="viewController" type="UIViewController" required>
  広告を表示するルートビューコントローラー
</ParamField>

#### プロパティ

| プロパティ                        | 型                                           | 説明                         |
| ---------------------------- | ------------------------------------------- | -------------------------- |
| `delegate`                   | `AdropPopupAdDelegate?`                     | 広告イベントデリゲート (読み書き)         |
| `closeDelegate`              | `AdropPopupAdCloseDelegate?`                | 閉じるイベントデリゲート (読み書き)        |
| `isLoaded`                   | `Bool`                                      | 広告が読み込まれたかどうか (読み取り専用)     |
| `unitId`                     | `String`                                    | ユニットID (読み取り専用)            |
| `txId`                       | `String`                                    | 現在のトランザクションID (読み取り専用)     |
| `txIds`                      | `[String]`                                  | すべてのトランザクションID (読み取り専用)    |
| `campaignId`                 | `String`                                    | 現在のキャンペーンID (読み取り専用)       |
| `campaignIds`                | `[String]`                                  | すべてのキャンペーンID (読み取り専用)      |
| `creativeId`                 | `String?`                                   | 現在のクリエイティブID (読み取り専用)      |
| `creativeIds`                | `[String]`                                  | すべてのクリエイティブID (読み取り専用)     |
| `destinationURL`             | `String?`                                   | 広告遷移先URL (読み取り専用)          |
| `useCustomClick`             | `Bool`                                      | カスタムクリック処理を使用するかどうか (読み書き) |
| `browserTarget`              | `BrowserTarget?`                            | 広告クリック時のURL表示方法 (読み取り専用)   |
| `backgroundColor`            | `UIColor?`                                  | ポップアップ背景色 (読み書き)           |
| `hideForTodayTextColor`      | `UIColor?`                                  | 「今日は表示しない」テキスト色 (読み書き)     |
| `closeTextColor`             | `UIColor?`                                  | 閉じるボタンテキスト色 (読み書き)         |
| `ctaTextColor`               | `UIColor?`                                  | CTAテキスト色 (読み書き)            |
| `onAdReceived`               | `((AdropPopupAd) -> Void)?`                 | 広告受信時のクロージャ                |
| `onAdFailedToReceive`        | `((AdropPopupAd, AdropErrorCode) -> Void)?` | 広告受信失敗時のクロージャ              |
| `onAdImpression`             | `((AdropPopupAd) -> Void)?`                 | 広告インプレッション時のクロージャ          |
| `onAdClicked`                | `((AdropPopupAd) -> Void)?`                 | 広告クリック時のクロージャ              |
| `onAdWillPresentFullScreen`  | `((AdropPopupAd) -> Void)?`                 | 広告表示前のクロージャ                |
| `onAdDidPresentFullScreen`   | `((AdropPopupAd) -> Void)?`                 | 広告表示後のクロージャ                |
| `onAdWillDismissFullScreen`  | `((AdropPopupAd) -> Void)?`                 | 広告を閉じる前のクロージャ              |
| `onAdDidDismissFullScreen`   | `((AdropPopupAd) -> Void)?`                 | 広告を閉じた後のクロージャ              |
| `onAdFailedToShowFullScreen` | `((AdropPopupAd, AdropErrorCode) -> Void)?` | 広告表示失敗時のクロージャ              |
| `onAdVideoStart`             | `((AdropPopupAd) -> Void)?`                 | 動画再生開始時のクロージャ              |
| `onAdVideoEnd`               | `((AdropPopupAd) -> Void)?`                 | 動画再生終了時のクロージャ              |
| `onClosed`                   | `((AdropPopupAd) -> Void)?`                 | 閉じるボタンのクロージャ               |
| `onDimClicked`               | `((AdropPopupAd) -> Void)?`                 | 背景エリアクリック時のクロージャ           |
| `onTodayOffClicked`          | `((AdropPopupAd) -> Void)?`                 | 「今日は表示しない」のクロージャ           |

**使用例:**

```swift theme={null}
let popupAd = AdropPopupAd(unitId: "YOUR_UNIT_ID")
popupAd.delegate = self
popupAd.closeDelegate = self
popupAd.load()

// 広告読み込み後
if popupAd.isLoaded {
    popupAd.show(fromRootViewController: self)
}
```

***

### AdropSplashAd

スプラッシュ広告を管理するクラスです。

<Note>
  `AdropSplashAd`は直接インスタンス化できません（イニシャライザはinternal）。スプラッシュ広告を表示するには`AdropSplashAdViewController`または`AdropSplashAdView`を使用してください。
</Note>

#### プロパティ

| プロパティ            | 型                        | 説明                         |
| ---------------- | ------------------------ | -------------------------- |
| `delegate`       | `AdropSplashAdDelegate?` | デリゲート (読み書き)               |
| `unitId`         | `String`                 | ユニットID (読み取り専用)            |
| `txId`           | `String`                 | トランザクションID (読み取り専用)        |
| `campaignId`     | `String`                 | キャンペーンID (読み取り専用)          |
| `creativeId`     | `String`                 | クリエイティブID (読み取り専用)         |
| `destinationURL` | `String`                 | 広告遷移先URL (読み取り専用)          |
| `readyToShow`    | `Bool`                   | 広告表示の準備ができているかどうか (読み取り専用) |
| `adImage`        | `UIImage?`               | キャッシュされた広告画像 (読み取り専用)      |

***

### AdropSplashAdViewController

スプラッシュ広告をフルスクリーンで表示するビューコントローラーです。

#### 初期化

```swift theme={null}
init(unitId: String, adRequestTimeout: TimeInterval = 1)
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したスプラッシュ広告ユニットID
</ParamField>

<ParamField body="adRequestTimeout" type="TimeInterval" default="1">
  広告リクエストタイムアウト（秒）
</ParamField>

#### メソッド

| メソッド      | 戻り値の型  | 説明                                  |
| --------- | ------ | ----------------------------------- |
| `close()` | `void` | スプラッシュ広告を閉じて`mainViewController`に遷移 |

#### プロパティ

| プロパティ                | 型                        | 説明                                       |
| -------------------- | ------------------------ | ---------------------------------------- |
| `delegate`           | `AdropSplashAdDelegate?` | デリゲート (読み書き)                             |
| `splashAd`           | `AdropSplashAd`          | 基盤となるスプラッシュ広告オブジェクト (読み取り専用)             |
| `displayDuration`    | `TimeInterval`           | 広告表示時間 (デフォルト: 1秒、deprecated — コンソールで設定) |
| `logoImage`          | `UIImage?`               | 下部に表示するロゴ画像 (読み書き)                       |
| `backgroundColor`    | `UIColor?`               | 背景色 (読み書き)                               |
| `mainViewController` | `UIViewController?`      | スプラッシュ広告終了後に遷移するメインビューコントローラー (読み書き)     |

**使用例:**

```swift theme={null}
let splashVC = AdropSplashAdViewController(unitId: "YOUR_UNIT_ID")
splashVC.delegate = self
splashVC.displayDuration = 3.0  // 3秒間表示
splashVC.logoImage = UIImage(named: "app_logo")  // ロゴ画像の設定
splashVC.modalPresentationStyle = .fullScreen
present(splashVC, animated: false)
```

***

### AdropSplashAdView

スプラッシュ広告を表示するビューです。`UIImageView`を継承します。

#### 初期化

```swift theme={null}
init(unitId: String, adRequestTimeout: TimeInterval = 1)
```

<ParamField body="unitId" type="String" required>
  Ad Controlコンソールで作成したスプラッシュ広告ユニットID
</ParamField>

<ParamField body="adRequestTimeout" type="TimeInterval" default="1">
  広告リクエストタイムアウト（秒）
</ParamField>

<Note>
  広告の読み込みは初期化時に自動的に行われます。`load()`を直接呼び出さないでください。
</Note>

#### プロパティ

| プロパティ             | 型                            | 説明                             |
| ----------------- | ---------------------------- | ------------------------------ |
| `delegate`        | `AdropSplashAdViewDelegate?` | デリゲート (読み書き)                   |
| `ad`              | `AdropSplashAd`              | 基盤となるスプラッシュ広告オブジェクト (読み取り専用)   |
| `unitId`          | `String`                     | ユニットID (読み取り専用)                |
| `txId`            | `String?`                    | トランザクションID (読み取り専用)            |
| `creativeId`      | `String`                     | クリエイティブID (読み取り専用)             |
| `isClosed`        | `Bool`                       | スプラッシュ広告が閉じたかどうか (読み取り専用)      |
| `displayDuration` | `TimeInterval`               | 広告表示時間 (deprecated — コンソールで設定) |

***

### AdropMetrics

ユーザープロパティとイベントを管理するクラスです。

#### 静的プロパティ

| プロパティ             | 型      | 説明                                 |
| ----------------- | ------ | ---------------------------------- |
| `userDataConsent` | `Bool` | ユーザーデータ同意状態 (デフォルト: `true`、読み取り専用) |

#### 静的メソッド

| メソッド                      | 戻り値の型                 | 説明                                                                                    |
| ------------------------- | --------------------- | ------------------------------------------------------------------------------------- |
| `setUserDataConsent(_:)`  | `void`                | ユーザーデータ収集の同意状態を設定 (`true` = 同意、`false` = 非同意)。`false`の場合、データはローカルに保存されるがサーバーには送信されない。 |
| `setProperty(key:value:)` | `void`                | ユーザープロパティを設定                                                                          |
| `properties()`            | `[String: Encodable]` | 保存されたユーザープロパティを全件取得                                                                   |
| `sendEvent(name:params:)` | `void`                | ユーザーイベントを送信                                                                           |
| `logEvent(name:params:)`  | `void`                | **非推奨。** `sendEvent`を使用してください。                                                        |

#### ユーザープロパティの設定

```swift theme={null}
static func setProperty(key: String, value: Encodable?)
```

<ParamField body="key" type="String" required>
  プロパティキー (最大64文字)
</ParamField>

<ParamField body="value" type="Any" required>
  プロパティ値 (String, Int, Double, Bool対応)
</ParamField>

**使用例:**

```swift theme={null}
AdropMetrics.setProperty(key: "age", value: 25)
AdropMetrics.setProperty(key: "gender", value: "male")
AdropMetrics.setProperty(key: "isPremium", value: true)
```

#### ユーザープロパティの取得

```swift theme={null}
static func properties() -> [String: Encodable]
```

`setProperty(key:value:)`で保存したユーザープロパティ全件を返します。

**使用例:**

```swift theme={null}
let stored = AdropMetrics.properties()
print(stored)
```

#### イベント送信

```swift theme={null}
static func sendEvent(name: String, params: [String: Any]? = nil)
```

<ParamField body="name" type="String" required>
  イベント名 (1–64文字)
</ParamField>

<ParamField body="params" type="[String: Any]?" optional>
  イベントパラメータディクショナリ。キーは最大64文字、文字列値は最大1024文字です。
</ParamField>

**使用例:**

```swift theme={null}
// シンプルなイベント
AdropMetrics.sendEvent(name: "app_open")

// パラメータ付きイベント
AdropMetrics.sendEvent(name: "view_item", params: [
    "item_id": "SKU-123",
    "item_name": "Widget",
    "price": 29.99
])

// 複数アイテムイベント（購入）
AdropMetrics.sendEvent(name: "purchase", params: [
    "tx_id": "tx_123",
    "currency": "KRW",
    "items": [
        ["item_id": "A", "item_name": "Product A", "price": 100, "quantity": 1],
        ["item_id": "B", "item_name": "Product B", "price": 200, "quantity": 2]
    ]
])
```

<Warning>
  `logEvent()`は非推奨であり、将来のバージョンで削除されます。`sendEvent()`を使用してください。
</Warning>

<Note>
  * イベント名は1–64文字である必要があります。
  * 同じ名前とパラメータを持つ重複イベントは500ms以内の送信が制限されます。
  * `sendEvent()`を呼び出す前にSDKが初期化されている必要があります。
</Note>

#### イベントロギング (非推奨)

```swift theme={null}
@available(*, deprecated, renamed: "sendEvent(name:params:)")
static func logEvent(name: String, params: [String: Encodable]? = [:])
```

<Warning>
  このメソッドは非推奨です。`sendEvent(name:params:)`を使用してください。
</Warning>

***

## プロトコル (Delegates)

### AdropBannerDelegate

バナー広告のライフサイクルイベントを処理するプロトコルです。

#### 必須メソッド

```swift theme={null}
func onAdReceived(_ banner: AdropBanner)
```

広告受信成功時に呼び出されます。

```swift theme={null}
func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

#### オプションメソッド

```swift theme={null}
optional func onAdImpression(_ banner: AdropBanner)
```

広告が画面に表示されたときに呼び出されます。

```swift theme={null}
optional func onAdClicked(_ banner: AdropBanner)
```

ユーザーが広告をクリックしたときに呼び出されます。

```swift theme={null}
optional func onAdsReceived(_ banners: [AdropBanner])
```

`AdropBanner.loads(...)`でリクエストしたバナーバッチが配信されたときに呼び出されます。

```swift theme={null}
optional func onAdsFailedToReceive(_ errorCode: AdropErrorCode)
```

`AdropBanner.loads(...)`のバッチロードが失敗したときに呼び出されます。

**実装例:**

```swift theme={null}
extension ViewController: AdropBannerDelegate {
    func onAdReceived(_ banner: AdropBanner) {
        print("バナー広告受信")
    }

    func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode) {
        print("バナー広告失敗: \(errorCode)")
    }

    func onAdImpression(_ banner: AdropBanner) {
        print("バナー広告インプレッション")
    }

    func onAdClicked(_ banner: AdropBanner) {
        print("バナー広告クリック")
    }
}
```

***

### AdropNativeAdDelegate

ネイティブ広告のライフサイクルイベントを処理するプロトコルです。

#### 必須メソッド

```swift theme={null}
func onAdReceived(_ ad: AdropNativeAd)
```

広告受信成功時に呼び出されます。

```swift theme={null}
func onAdFailedToReceive(_ ad: AdropNativeAd, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

#### オプションメソッド

```swift theme={null}
optional func onAdImpression(_ ad: AdropNativeAd)
```

広告が画面に表示されたときに呼び出されます。

```swift theme={null}
optional func onAdClicked(_ ad: AdropNativeAd)
```

ユーザーが広告をクリックしたときに呼び出されます。

```swift theme={null}
optional func onAdsReceived(_ ads: [AdropNativeAd])
```

`AdropNativeAd.loads(...)`でリクエストしたネイティブバッチが配信されたときに呼び出されます。

```swift theme={null}
optional func onAdsFailedToReceive(_ errorCode: AdropErrorCode)
```

`AdropNativeAd.loads(...)`のバッチロードが失敗したときに呼び出されます。

***

### AdropInterstitialAdDelegate

インタースティシャル広告のライフサイクルイベントを処理するプロトコルです。

#### 必須メソッド

```swift theme={null}
func onAdReceived(_ ad: AdropInterstitialAd)
```

広告受信成功時に呼び出されます。

```swift theme={null}
func onAdFailedToReceive(_ ad: AdropInterstitialAd, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

#### オプションメソッド

```swift theme={null}
optional func onAdImpression(_ ad: AdropInterstitialAd)
```

広告が画面に表示されたときに呼び出されます。

```swift theme={null}
optional func onAdClicked(_ ad: AdropInterstitialAd)
```

ユーザーが広告をクリックしたときに呼び出されます。

```swift theme={null}
optional func onAdWillPresentFullScreen(_ ad: AdropInterstitialAd)
```

広告がフルスクリーンで表示される直前に呼び出されます。

```swift theme={null}
optional func onAdDidPresentFullScreen(_ ad: AdropInterstitialAd)
```

広告がフルスクリーンで表示された直後に呼び出されます。

```swift theme={null}
optional func onAdWillDismissFullScreen(_ ad: AdropInterstitialAd)
```

広告が閉じられる直前に呼び出されます。

```swift theme={null}
optional func onAdDidDismissFullScreen(_ ad: AdropInterstitialAd)
```

広告が閉じられたときに呼び出されます。

```swift theme={null}
optional func onAdFailedToShowFullScreen(_ ad: AdropInterstitialAd, _ errorCode: AdropErrorCode)
```

広告表示失敗時に呼び出されます。

***

### AdropRewardedAdDelegate

リワード広告のライフサイクルイベントを処理するプロトコルです。

#### 必須メソッド

```swift theme={null}
func onAdReceived(_ ad: AdropRewardedAd)
```

広告受信成功時に呼び出されます。

```swift theme={null}
func onAdFailedToReceive(_ ad: AdropRewardedAd, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

#### オプションメソッド

```swift theme={null}
optional func onAdImpression(_ ad: AdropRewardedAd)
```

広告が画面に表示されたときに呼び出されます。

```swift theme={null}
optional func onAdClicked(_ ad: AdropRewardedAd)
```

ユーザーが広告をクリックしたときに呼び出されます。

```swift theme={null}
optional func onAdWillPresentFullScreen(_ ad: AdropRewardedAd)
```

広告がフルスクリーンで表示される直前に呼び出されます。

```swift theme={null}
optional func onAdDidPresentFullScreen(_ ad: AdropRewardedAd)
```

広告がフルスクリーンで表示された直後に呼び出されます。

```swift theme={null}
optional func onAdWillDismissFullScreen(_ ad: AdropRewardedAd)
```

広告が閉じられる直前に呼び出されます。

```swift theme={null}
optional func onAdDidDismissFullScreen(_ ad: AdropRewardedAd)
```

広告が閉じられたときに呼び出されます。

```swift theme={null}
optional func onAdFailedToShowFullScreen(_ ad: AdropRewardedAd, _ errorCode: AdropErrorCode)
```

広告表示失敗時に呼び出されます。

***

### AdropPopupAdDelegate

ポップアップ広告のライフサイクルイベントを処理するプロトコルです。

#### 必須メソッド

```swift theme={null}
func onAdReceived(_ ad: AdropPopupAd)
```

広告受信成功時に呼び出されます。

```swift theme={null}
func onAdFailedToReceive(_ ad: AdropPopupAd, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

#### オプションメソッド

```swift theme={null}
optional func onAdImpression(_ ad: AdropPopupAd)
```

広告が画面に表示されたときに呼び出されます。

```swift theme={null}
optional func onAdClicked(_ ad: AdropPopupAd)
```

ユーザーが広告をクリックしたときに呼び出されます。

```swift theme={null}
optional func onAdWillPresentFullScreen(_ ad: AdropPopupAd)
```

ポップアップ広告が表示される直前に呼び出されます。

```swift theme={null}
optional func onAdDidPresentFullScreen(_ ad: AdropPopupAd)
```

ポップアップ広告が表示された直後に呼び出されます。

```swift theme={null}
optional func onAdWillDismissFullScreen(_ ad: AdropPopupAd)
```

ポップアップ広告が閉じられる直前に呼び出されます。

```swift theme={null}
optional func onAdDidDismissFullScreen(_ ad: AdropPopupAd)
```

広告が閉じられたときに呼び出されます。

```swift theme={null}
optional func onAdFailedToShowFullScreen(_ ad: AdropPopupAd, _ errorCode: AdropErrorCode)
```

広告表示失敗時に呼び出されます。

***

### AdropPopupAdCloseDelegate

ポップアップ広告の閉じるイベントを処理するプロトコルです。

#### オプションメソッド

```swift theme={null}
optional func onClosed(_ ad: AdropPopupAd)
```

ユーザーが閉じるボタンをクリックしたときに呼び出されます。

```swift theme={null}
optional func onDimClicked(_ ad: AdropPopupAd)
```

ユーザーがポップアップの外側（暗い領域）をクリックしたときに呼び出されます。

```swift theme={null}
optional func onTodayOffClicked(_ ad: AdropPopupAd)
```

ユーザーが「今日は表示しない」を選択したときに呼び出されます。

***

### AdropSplashAdDelegate

スプラッシュ広告のライフサイクルイベントを処理するプロトコルです。すべてのメソッドは`@objc optional`です。

#### オプションメソッド

```swift theme={null}
optional func onAdReceived(_ ad: AdropSplashAd)
```

広告受信成功時に呼び出されます。

```swift theme={null}
optional func onAdFailedToReceive(_ ad: AdropSplashAd, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

```swift theme={null}
optional func onAdImpression(_ ad: AdropSplashAd)
```

広告が画面に表示されたときに呼び出されます。

```swift theme={null}
optional func onAdClose(_ ad: AdropSplashAd, impressed: Bool)
```

スプラッシュ広告が閉じられたときに呼び出されます。`impressed`は広告が完全に表示されたかどうかを示します。

***

### AdropSplashAdViewDelegate

スプラッシュ広告ビューのライフサイクルイベントを処理するプロトコルです。

#### 必須メソッド

```swift theme={null}
func onAdClose(_ adView: AdropSplashAdView, impressed: Bool)
```

スプラッシュ広告ビューが閉じられたときに呼び出されます。`impressed`は広告が完全に表示されたかどうかを示します。

#### オプションメソッド

```swift theme={null}
optional func onAdReceived(_ adView: AdropSplashAdView)
```

広告受信成功時に呼び出されます。

```swift theme={null}
optional func onAdFailedToReceive(_ adView: AdropSplashAdView, _ errorCode: AdropErrorCode)
```

広告受信失敗時に呼び出されます。

```swift theme={null}
optional func onAdImpression(_ adView: AdropSplashAdView)
```

広告が画面に表示されたときに呼び出されます。

***

### UseCustomClick

広告クリック動作をカスタマイズするためのプロトコルです。`AdropBanner`、`AdropNativeAd`、`AdropPopupAd`で実装されています。

| プロパティ / メソッド               | 型         | 説明                                                          |
| -------------------------- | --------- | ----------------------------------------------------------- |
| `destinationURL`           | `String?` | 広告のリンク先URL（読み取り専用）                                          |
| `useCustomClick`           | `Bool`    | `true`に設定すると、広告クリック時の自動URL遷移が無効になります                        |
| `open(_:useInAppBrowser:)` | メソッド      | URLを手動で開きます。`useCustomClick`が`true`の場合、クリックコールバックで呼び出してください |

***

## 列挙型 (Enums)

### AdropErrorCode

広告の読み込みおよび表示中に発生する可能性のあるエラーコードです。

```swift theme={null}
enum AdropErrorCode: Int
```

| ケース                                       | コード値 | 説明              |
| ----------------------------------------- | ---- | --------------- |
| `ERROR_CODE_NETWORK`                      | 0    | ネットワークエラー       |
| `ERROR_CODE_INTERNAL`                     | 1    | 内部エラー           |
| `ERROR_CODE_INITIALIZE`                   | 2    | SDK初期化失敗        |
| `ERROR_CODE_INVALID_UNIT`                 | 3    | 無効なユニットID       |
| `ERROR_CODE_NOT_TARGET_COUNTRY`           | 4    | ターゲット国ではない      |
| `ERROR_CODE_AD_INACTIVE`                  | 5    | アクティブキャンペーンなし   |
| `ERROR_CODE_AD_NO_FILL`                   | 6    | 表示可能な広告なし       |
| `ERROR_CODE_AD_LOAD_DUPLICATED`           | 7    | 重複した広告読み込みリクエスト |
| `ERROR_CODE_AD_LOADING`                   | 8    | 広告読み込み中         |
| `ERROR_CODE_AD_EMPTY`                     | 9    | 広告が読み込まれていない    |
| `ERROR_CODE_AD_SHOWN`                     | 10   | 広告がすでに表示されている   |
| `ERROR_CODE_AD_HIDE_FOR_TODAY`            | 11   | 「今日は表示しない」設定    |
| `ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED` | 12   | アカウント使用量制限超過    |
| `ERROR_CODE_LANDSCAPE_UNSUPPORTED`        | 13   | 横向きモード非対応       |
| `ERROR_CODE_AD_BACKFILL_NO_FILL`          | 14   | バックフィル広告なし      |

#### エラーコード別説明

**ネットワーク関連**

* `ERROR_CODE_NETWORK`: ネットワーク接続エラーが発生しました。インターネット接続を確認してください。

**初期化関連**

* `ERROR_CODE_INITIALIZE`: SDKが初期化されていません。`Adrop.initialize()`を先に呼び出してください。

**ユニット関連**

* `ERROR_CODE_INVALID_UNIT`: 無効なユニットIDです。コンソールで確認してください。
* `ERROR_CODE_NOT_TARGET_COUNTRY`: 現在のユーザーの国がターゲット国ではありません。

**広告関連**

* `ERROR_CODE_AD_INACTIVE`: 該当ユニットに有効化されたキャンペーンがありません。
* `ERROR_CODE_AD_NO_FILL`: 現在表示可能な広告がありません。
* `ERROR_CODE_AD_BACKFILL_NO_FILL`: バックフィル広告もありません。

**広告状態関連**

* `ERROR_CODE_AD_LOAD_DUPLICATED`: すでに広告を読み込み中です。
* `ERROR_CODE_AD_LOADING`: 広告がまだ読み込み中です。
* `ERROR_CODE_AD_EMPTY`: 広告を表示する前に読み込む必要があります。
* `ERROR_CODE_AD_SHOWN`: 広告はすでに表示されています。新しい広告を読み込んでください。
* `ERROR_CODE_AD_HIDE_FOR_TODAY`: ユーザーが「今日は表示しない」を選択しました。

**その他**

* `ERROR_CODE_INTERNAL`: 内部エラーが発生しました。
* `ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED`: アカウントの広告使用量制限を超過しました。
* `ERROR_CODE_LANDSCAPE_UNSUPPORTED`: この広告は横向きモードをサポートしていません。

**使用例:**

```swift theme={null}
func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode) {
    switch errorCode {
    case .ERROR_CODE_NETWORK:
        print("ネットワークエラー: 接続を確認してください")
    case .ERROR_CODE_AD_NO_FILL:
        print("表示可能な広告がありません")
    case .ERROR_CODE_INVALID_UNIT:
        print("無効なユニットIDです")
    default:
        print("広告読み込み失敗: \(errorCode.rawValue)")
    }
}
```

***

### AdropTheme

アプリのテーマ設定を表す列挙型です。

```swift theme={null}
enum AdropTheme
```

| ケース     | 説明                |
| ------- | ----------------- |
| `light` | ライトモード            |
| `dark`  | ダークモード            |
| `auto`  | システム設定に従う (デフォルト) |

**使用例:**

```swift theme={null}
// ライトモードの設定
Adrop.setTheme(.light)

// ダークモードの設定
Adrop.setTheme(.dark)

// システム設定に従う
Adrop.setTheme(.auto)
```

***

### BrowserTarget

広告URLの開き方を制御します。

| 値          | 説明                           |
| ---------- | ---------------------------- |
| `EXTERNAL` | デフォルトの外部ブラウザでURLを開きます（デフォルト） |
| `INTERNAL` | アプリ内ブラウザでURLを開きます            |

***

## 構造体と型

### AdropNativeAdProfile

広告主のプロフィール情報を含む構造体です。

```swift theme={null}
struct AdropNativeAdProfile {
    let displayLogo: String     // 広告主ロゴURL
    let displayName: String     // 広告主名
    let link: String?           // 広告主プロフィールリンク
}
```

**使用例:**

```swift theme={null}
let profile = nativeAd.profile
profileNameLabel.text = profile.displayName
loadImage(from: profile.displayLogo, into: profileImageView)
```

### AdropServerSideVerificationOptions

リワード広告のサーバーサイド検証オプションを設定するクラスです。

```swift theme={null}
class AdropServerSideVerificationOptions: NSObject {
    var userId: String?
    var customData: String?

    init(userId: String? = nil, customData: String? = nil)
}
```

| プロパティ        | 型         | 説明                       |
| ------------ | --------- | ------------------------ |
| `userId`     | `String?` | サーバーサイド検証用のユーザー識別子       |
| `customData` | `String?` | サーバーコールバックに含めるカスタムデータ文字列 |

**使用例:**

```swift theme={null}
let options = AdropServerSideVerificationOptions(
    userId: "user_12345",
    customData: "level_5_reward"
)
rewardedAd.serverSideVerificationOptions = options
```

***

## 定数

### AdropUnitId

テスト用ユニットID定数です。

```swift theme={null}
struct AdropUnitId {
    // バナー広告
    static let PUBLIC_TEST_UNIT_ID_320_50: String
    static let PUBLIC_TEST_UNIT_ID_320_100: String
    static let PUBLIC_TEST_UNIT_ID_CAROUSEL: String
    static let PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9: String
    static let PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16: String

    // ネイティブ広告
    static let PUBLIC_TEST_UNIT_ID_NATIVE: String
    static let PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_16_9: String
    static let PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_9_16: String

    // インタースティシャル広告
    static let PUBLIC_TEST_UNIT_ID_INTERSTITIAL: String

    // リワード広告
    static let PUBLIC_TEST_UNIT_ID_REWARDED: String

    // ポップアップ広告
    static let PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_CENTER: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_16_9: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_9_16: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_16_9: String
    static let PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_9_16: String

    // スプラッシュ広告
    static let PUBLIC_TEST_UNIT_ID_SPLASH: String
}
```

**使用例:**

```swift theme={null}
let banner = AdropBanner(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_320_100)
let carouselBanner = AdropBanner(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_CAROUSEL)
let nativeAd = AdropNativeAd(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_NATIVE)
let interstitial = AdropInterstitialAd(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_INTERSTITIAL)
let popup = AdropPopupAd(unitId: AdropUnitId.PUBLIC_TEST_UNIT_ID_POPUP_CENTER)
```

<Warning>
  テストユニットIDは開発環境でのみ使用してください。本番環境では必ずコンソールで作成した実際のユニットIDを使用する必要があります。
</Warning>

***

## 追加リソース

<CardGroup cols={2}>
  <Card title="バナー広告" href="/ja/sdk/ios/banner" icon="rectangle-ad">
    バナー広告実装ガイド
  </Card>

  <Card title="ネイティブ広告" href="/ja/sdk/ios/native" icon="grid-2">
    ネイティブ広告実装ガイド
  </Card>

  <Card title="インタースティシャル広告" href="/ja/sdk/ios/interstitial" icon="window-maximize">
    インタースティシャル広告実装ガイド
  </Card>

  <Card title="リワード広告" href="/ja/sdk/ios/rewarded" icon="gift">
    リワード広告実装ガイド
  </Card>
</CardGroup>
