> ## 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.

# はじめに

> FlutterアプリにAdrop SDKを連携する方法をご案内します。

## 概要

Adrop Flutter SDKを使用すると、Flutterアプリでさまざまな広告フォーマットを簡単に連携できます。

### サポート広告フォーマット

| フォーマット       | 説明                   |
| ------------ | -------------------- |
| バナー広告        | 画面の一部に表示される長方形の広告    |
| ネイティブ広告      | アプリコンテンツと自然に調和する広告   |
| インタースティシャル広告 | 全画面を覆う広告             |
| リワード広告       | 報酬を提供する全画面広告         |
| ポップアップ広告     | ポップアップ形式で表示される広告     |
| スプラッシュ広告     | アプリ起動時にロゴと一緒に表示される広告 |

***

## 要件

### Flutter

* Flutter SDK **3.3.0** 以上
* Dart SDK **2.18.0** 以上

### Android

* API レベル **23** (Android 6.0) 以上
* `compileSdkVersion` **34**
* Kotlin **2.1.0** 以上
* Gradle **8.7** 以上
* Jetpack (AndroidX) 使用

### iOS

* iOS **13.0** 以上
* Swift **5.0** 以上

***

## インストール

### 1. パッケージのインストール

プロジェクトディレクトリで次のコマンドを実行します。

```bash theme={null}
flutter pub add adrop_ads_flutter
```

### 2. Androidの設定

`android/settings.gradle.kts`にバックフィル広告リポジトリを追加します。

```kotlin android/settings.gradle.kts theme={null}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
    }
}
```

`android/app/build.gradle`にバックフィル依存関係を追加します。

```gradle android/app/build.gradle theme={null}
dependencies {
    implementation 'io.adrop:adrop-ads-backfill:1.11.2'
}
```

`android/app/src/main/AndroidManifest.xml`にバックフィルApp IDを追加します。

```xml android/app/src/main/AndroidManifest.xml theme={null}
<manifest>
    <application>
        <!-- Backfill App ID -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>
```

<Note>
  App IDの発行についてはAdropにお問い合わせください。
</Note>

### 3. iOSの設定

`ios/Podfile`を修正します。

```ruby ios/Podfile theme={null}
use_frameworks!

target 'Runner' do
  # その他の依存関係...

  # バックフィル広告SDK
  pod 'adrop-ads-backfill'
end
```

Podをインストールします。

```bash theme={null}
cd ios && pod install --repo-update && cd ..
```

### 4. Info.plistの設定

バックフィル広告のために`ios/Runner/Info.plist`に以下の設定を追加します。

* **GADApplicationIdentifier**: バックフィル広告用のApp ID
* **SKAdNetworkItems**: iOS 14以降で広告コンバージョントラッキングに必要

<Accordion title="Info.plist設定を表示">
  ```xml Info.plist theme={null}
  <key>GADApplicationIdentifier</key>
  <string>ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy</string>

  <key>SKAdNetworkItems</key>
  <array>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>cstr6suwn9.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>4fzdc2evr5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>4pfyvq9l8r.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>2fnua5tdw4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ydx93a7ass.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>5a6flpkh64.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>p78axxw29g.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>v72qych5uu.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ludvb6z3bs.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>cp8zw746q7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>v9wttpbfk9.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>lr83yxwka7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>578prtvx9j.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>7ug5zh24hu.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>wg4vff78zm.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>mj797d8u6f.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>8s468mfl3y.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>4dzt52r2t5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>vhf287vqwu.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>c6k4g5qg8m.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>5tjdwbrq8w.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>294l99pt4k.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>mqn7fxpca7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>g6gcrrvk4p.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>tl55sbb4fm.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>s39g8k73mm.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>a2p9lx4jpn.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>k6y4y55b64.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>488r3q3dtq.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>9rd848q2bz.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>glqzh8vgby.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>5lm9lj6jb7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>97r2b46745.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>zmvfpc5aq8.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>3sh42y64q3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>mlmmfzh3r3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>3rd42ekr43.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>2u9pt9hc89.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>m8dbw4sv7c.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>238da6jt44.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>4468km3ulz.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>4w7y6s5ca2.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>a8cz6cu7e5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>77y3x8wds4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>n9x2a789qt.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>hs6bdukanm.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>f7s53z58qe.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>9t245vhmpl.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>mp6xlyr22a.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>prcb7njmu6.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>kbd757ywx3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>k674qkevps.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>t38b2kh725.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>feyaarzu9v.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>5f5u5tfb26.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>424m5254lk.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>e5fvkxwrpn.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>3qy4746246.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>klf5c3l5u5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>zq492l623r.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>22mmun2rn5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>av6w8kgt66.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>v79kvwwj4g.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>44jx6755aq.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>32z4fx6l9h.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>w9q455wk68.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>xga6mpmplv.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>f38h382jlk.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>yclnxrl5pm.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>x44k69ngh6.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ppxm28t8ap.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>f73kdq92p3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>5l3tpt7t6e.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>wzmmz9fp6w.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>pwa73g5rt2.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>9nlqeag3gk.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6yxyv74ff7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>uw77j35x4d.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>54nzkqm89y.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>44n7hlldy6.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6964rsfnh4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6g9af3uyq4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6v7lgmsu45.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>7fmhfwg9en.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>a7xqa6mtl2.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>84993kbrcf.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>bxvub5ada5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>79pbpufp6p.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>9vvzujtq5s.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>7rz58n8ntl.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>3qcr597p9d.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>737z793b9f.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>89z7zv988g.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>c3frkrj4fj.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>275upjj5gd.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>3l6bd9hu43.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>52fl2v3hgk.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6p4ks3rnbw.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>apzhy3va96.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>9b89h5y424.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>523jb4fst2.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>b9bk5wbcq9.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>cg4yq2srnc.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>cj5566h2ga.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>24zw6aqk47.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>74b6s63p6l.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>8m87ys6875.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>24t9a8vw3c.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6xzpu9s2p8.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>cs644xg564.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>dbu4b84rxf.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ejvt5qm6ak.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>mtkv5xtk9e.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>kbmxgpxpgc.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>hb56zgv37p.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>pwdxu55a5a.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>r45fhb6rf7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>t6d3zquu66.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>u679fj5vs4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>dzg6xy7pwj.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>g28c52eehv.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>mls7yz5dvl.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>vcra2ehyfk.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>rx5hdcabgc.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>qwpu75vrh2.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>rvh3l7un93.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>x5l83yy675.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>m5mvw97r93.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>xy9t38ct57.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>g2y4y55b64.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>gta9lk7p23.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>n6fk4nfna4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>qu637u8glc.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>y5ghdn5j9k.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>y45688jllp.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ggvn48r87g.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>m297p6643m.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>qqp299437r.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>hdw39hrw9y.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>krvm3zuq6h.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>cwn433xbcr.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ns5j362hk7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>su67r6k2v3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>z959bm4gru.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>x8uqf25wch.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>n38lu8286q.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>fz2k2k5tej.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ecpz2srf59.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>bvpn9ufa9b.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6rd35atwn8.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ln5gz23vtd.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>tmhh9296z4.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>sczv5946wb.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>dkc879ngq3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>87u5trcl3r.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>fq6vru337s.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>f2zub97jtl.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>thzdn4h5nc.adattributionkit</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>raa6f494kr.adattributionkit</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>6lz2ygh3q6.adattributionkit</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>m2jqnlggk3.adattributionkit</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>pg7ctvrt6f.adattributionkit</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>77y3x8wds4.adattributionkit</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>55644vm79v.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>nzq8sh4pbs.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>55y65gfgn7.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>252b5q8x7y.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>47vhws6wlr.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>4mn522wn87.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>577p5t736z.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>7953jerfzd.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>7bxrt786m8.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>7fbxrn65az.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>8c4e2ghe7u.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>8r8llnkz5a.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>9yg77x724h.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>ce8ybjwass.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>dt3cjx1a9i.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>eh6m2bh4zr.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>gta8lk7p23.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>gvmwg8q7h5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>hjevpa356n.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>jk2fsx2rgz.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>n66cz3y3bx.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>pu4na253f3.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>r8lj5b58b5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>s69wq72ugq.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>v4nxqhlyqp.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>vutu7akeur.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>z24wtl6j62.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>z4gj7hsk7h.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>x8jxxk4ff5.skadnetwork</string>
      </dict>
      <dict>
          <key>SKAdNetworkIdentifier</key>
          <string>x8yj322td6.skadnetwork</string>
      </dict>
  </array>
  ```
</Accordion>

<Note>
  既存のInfo.plistに既に`SKAdNetworkItems`キーがある場合は、新たに追加せず配列（`<array>`）の項目のみマージしてください。同じキーを2つ置くと、iOSは最初の配列のみを使用します。
</Note>

<Note>
  SKAdNetworkItemsの全リストとApp IDの発行についてはAdropにお問い合わせください。
</Note>

### 5. 設定ファイルの追加

#### Android

1. Ad Controlコンソールから **adrop\_service.json** ファイルをダウンロードします。
2. ファイルを`android/app/src/main/assets/`ディレクトリにコピーします。

```
android/app/src/main/assets/adrop_service.json
```

#### iOS

1. Ad Controlコンソールから **adrop\_service.json** ファイルをダウンロードします。
2. Xcodeでプロジェクトルートにファイルを追加します。
3. すべてのターゲットにファイルを追加するように選択します。

***

## 初期化

アプリ起動時にSDKを初期化します。通常は`main.dart`で呼び出します。

```dart main.dart theme={null}
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    _initializeAdrop();
  }

  Future<void> _initializeAdrop() async {
    // false: テストモード, true: プロダクションモード
    await Adrop.initialize(false);
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}
```

### 初期化オプション

```dart theme={null}
await Adrop.initialize(
  production,        // bool: プロダクションモードかどうか
  targetCountries: targetCountries,   // List<String>?: ターゲット国コード配列 (オプション)
  useInAppBrowser: useInAppBrowser    // bool?: iOSインアプリブラウザ使用 (オプション)
);
```

**パラメータ**

| パラメータ             | タイプ            | 必須 | 説明                                  |
| ----------------- | -------------- | -- | ----------------------------------- |
| `production`      | `bool`         | Y  | `true`: プロダクションモード, `false`: テストモード |
| `targetCountries` | `List<String>` | N  | 広告を表示する国コード (例: `['KR', 'US']`)     |
| `useInAppBrowser` | `bool`         | N  | iOSでインアプリブラウザを使用 (デフォルト: `false`)   |

**例**

```dart theme={null}
// 基本初期化 (テストモード)
await Adrop.initialize(false);

// プロダクションモード + 特定国ターゲティング
await Adrop.initialize(true, targetCountries: ['KR', 'JP', 'US']);

// プロダクションモード + iOSインアプリブラウザ使用
await Adrop.initialize(true, useInAppBrowser: true);
```

***

## テーマ設定

広告UIテーマを設定します。

```dart theme={null}
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';

// テーマ設定
await Adrop.setTheme(AdropTheme.auto);  // システム設定に従う
await Adrop.setTheme(AdropTheme.light); // ライトモード
await Adrop.setTheme(AdropTheme.dark);  // ダークモード
```

| テーマ                | 説明               |
| ------------------ | ---------------- |
| `AdropTheme.auto`  | システム設定に従って自動切り替え |
| `AdropTheme.light` | ライトモード           |
| `AdropTheme.dark`  | ダークモード           |

***

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

ターゲティング広告のためにユーザー識別子(UID)を設定します。

```dart theme={null}
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';

// ユーザーログイン後
await Adrop.setUID('user_123');

// ログアウト時
await Adrop.setUID('');
```

<Warning>
  UIDはSHA-256でハッシュ化されて送信されます。メール、電話番号などの個人情報を直接渡さないでください。
</Warning>

***

## テストユニットID

開発およびテスト時に次のテストユニットIDを使用してください。

| フォーマット        | テストユニットID                          |
| ------------- | ---------------------------------- |
| バナー (320x50)  | `PUBLIC_TEST_UNIT_ID_320_50`       |
| バナー (320x100) | `PUBLIC_TEST_UNIT_ID_320_100`      |
| ネイティブ         | `PUBLIC_TEST_UNIT_ID_NATIVE`       |
| インタースティシャル    | `PUBLIC_TEST_UNIT_ID_INTERSTITIAL` |
| リワード          | `PUBLIC_TEST_UNIT_ID_REWARDED`     |
| ポップアップ (下部)   | `PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM` |
| ポップアップ (中央)   | `PUBLIC_TEST_UNIT_ID_POPUP_CENTER` |
| スプラッシュ        | `PUBLIC_TEST_UNIT_ID_SPLASH`       |

<Warning>
  プロダクション配布前に必ず実際のユニットIDに置き換えてください。
</Warning>

***

## エラーコード

SDKで発生する可能性のあるエラーコードです。

| エラーコード                      | 説明          |
| --------------------------- | ----------- |
| `network`                   | ネットワークエラー   |
| `internal`                  | 内部エラー       |
| `initialize`                | SDK初期化エラー   |
| `invalidUnit`               | 無効なユニットID   |
| `notTargetCountry`          | ターゲット国ではない  |
| `inactive`                  | 無効化された広告    |
| `adNoFill`                  | 表示する広告がない   |
| `adLoadDuplicate`           | 重複ロードリクエスト  |
| `adLoading`                 | ロード進行中      |
| `adEmpty`                   | 空の広告        |
| `adShown`                   | すでに表示された広告  |
| `adHideForToday`            | 今日は非表示に設定   |
| `accountUsageLimitExceeded` | アカウント使用制限超過 |
| `adLandscapeUnsupported`    | 横モード未対応     |
| `backfillNoFill`            | バックフィル広告なし  |

```dart theme={null}
import 'package:adrop_ads_flutter/adrop_ads_flutter.dart';

// エラー処理例
if (errorCode == AdropErrorCode.adNoFill) {
  debugPrint('表示する広告がありません。');
}
```

***

## 非推奨クラスのマイグレーション

以下のクラスは非推奨（deprecated）となりました。今後のバージョンで削除される予定のため、新しいクラスにマイグレーションしてください。

### AdropBanner → AdropBannerView

`AdropBanner`ウィジェットは非推奨です。`AdropBannerView`にマイグレーションしてください。

```dart theme={null}
// ❌ Deprecated
AdropBanner(
  unitId: 'YOUR_UNIT_ID',
  onAdropBannerCreated: (controller) {
    controller.load();
  },
  onAdReceived: (banner) { },
);

// ✅ 推奨（AdropBannerView）
final bannerView = AdropBannerView(
  unitId: 'YOUR_UNIT_ID',
  listener: AdropBannerListener(
    onAdReceived: (unitId, metadata) { },
    onAdFailedToReceive: (unitId, errorCode) { },
  ),
);
bannerView.load();
```

### AdropNavigatorObserver (Deprecated)

`AdropNavigatorObserver`は非推奨となり、今後のバージョンで削除される予定です。このクラスはもう機能を提供しないため、コードから削除しても問題ありません。

```dart theme={null}
// ❌ Deprecated — 削除可能
MaterialApp(
  navigatorObservers: [AdropNavigatorObserver()],
);

// ✅ AdropNavigatorObserverを削除
MaterialApp(
  // navigatorObserversからAdropNavigatorObserverを削除
);
```

***

## トラブルシューティング

### iOSビルドエラー

Swiftバージョンの互換性問題が発生した場合、`ios/Podfile`の`post_install`ブロックに次を追加してください。

```ruby ios/Podfile theme={null}
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
    end
  end
end
```

### Androidビルドエラー

Kotlinバージョンが合わない場合、`android/build.gradle`でKotlinバージョンを確認してください。

```gradle android/build.gradle theme={null}
buildscript {
    ext.kotlin_version = '2.1.0'
}
```

***

## 次のステップ

<CardGroup cols={2}>
  <Card title="バナー広告" icon="rectangle-ad" href="/ja/sdk/flutter/banner">
    バナー広告を実装する
  </Card>

  <Card title="ネイティブ広告" icon="puzzle-piece" href="/ja/sdk/flutter/native">
    ネイティブ広告を実装する
  </Card>

  <Card title="インタースティシャル広告" icon="expand" href="/ja/sdk/flutter/interstitial">
    インタースティシャル広告を実装する
  </Card>

  <Card title="リワード広告" icon="gift" href="/ja/sdk/flutter/rewarded">
    リワード広告を実装する
  </Card>

  <Card title="WebViewガイド" icon="globe" href="/ja/sdk/flutter/webview">
    WebViewでウェブ広告を表示
  </Card>

  <Card title="UMP連携" icon="shield-check" href="/ja/sdk/flutter/ump">
    GDPR/CCPA同意管理
  </Card>
</CardGroup>
