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

# 시작하기

> React Native 앱에 Adrop SDK를 연동하는 방법을 안내합니다.

## 개요

Adrop React Native SDK를 사용하면 React Native 앱에서 다양한 광고 포맷을 쉽게 연동할 수 있습니다.

### 지원 광고 포맷

| 포맷      | 설명                    |
| ------- | --------------------- |
| 배너 광고   | 화면 일부에 표시되는 직사각형 광고   |
| 네이티브 광고 | 앱 콘텐츠와 자연스럽게 어우러지는 광고 |
| 전면 광고   | 전체 화면을 덮는 광고          |
| 보상형 광고  | 보상을 제공하는 전체 화면 광고     |
| 팝업 광고   | 팝업 형태로 표시되는 광고        |
| 스플래시 광고 | 앱 실행 시 표시되는 광고        |

***

## 요구 사항

### React Native

* React Native **0.71** 이상

### Android

* API 레벨 **23** (Android 6.0) 이상
* `compileSdkVersion` **34**
* Kotlin **2.1.0** 이상
* Gradle **8.7** 이상

### iOS

* iOS **13.0** 이상
* Swift **5.0** 이상

***

## 설치

### 1. 패키지 설치

<CodeGroup>
  ```bash npm theme={null}
  npm install adrop-ads-react-native
  ```

  ```bash yarn theme={null}
  yarn add adrop-ads-react-native
  ```
</CodeGroup>

<Tabs>
  <Tab title="React Native CLI">
    ### 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`에 Kotlin 플러그인과 백필 의존성을 추가합니다.

    ```gradle android/app/build.gradle theme={null}
    apply plugin: "kotlin-android"

    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 발급은 에이드랍에 문의해주세요.
    </Note>

    ### 3. iOS 설정

    `ios/Podfile`을 수정합니다.

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

    target 'YourApp' do
      # 기타 의존성...

      # 백필 광고 SDK
      pod 'adrop-ads-backfill'
    end
    ```

    Pod을 설치합니다.

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

    ### 4. Info.plist 설정

    백필 광고를 위해 `ios/YourApp/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>`) 항목만 병합하세요. 동일 키를 두 번 두면 iOS는 첫 번째 배열만 사용합니다.
    </Note>

    <Note>
      SKAdNetworkItems 전체 목록과 App ID 발급은 에이드랍에 문의해주세요.
    </Note>
  </Tab>

  <Tab title="Expo">
    ### 2. Config Plugin 생성

    프로젝트 루트에 `plugins/withAdropService.js` 파일을 생성합니다. 이 Expo config plugin은 `npx expo prebuild` 시 네이티브 프로젝트에 `adrop_service.json`을 자동으로 생성합니다.

    * Android: `android/app/src/main/assets/adrop_service.json`
    * iOS: `ios/{projectName}/adrop_service.json`

    ```javascript plugins/withAdropService.js theme={null}
    const { withDangerousMod } = require('@expo/config-plugins')
    const fs = require('fs')
    const path = require('path')

    function withAdropServiceAndroid(config, props) {
      return withDangerousMod(config, [
        'android',
        async (config) => {
          const projectRoot = config.modRequest.projectRoot
          const androidAssetsPath = path.join(projectRoot, 'android', 'app', 'src', 'main', 'assets')
          if (!fs.existsSync(androidAssetsPath)) fs.mkdirSync(androidAssetsPath, { recursive: true })
          const serviceConfig = { app_key: props.android?.appKey || props.appKey || '' }
          fs.writeFileSync(path.join(androidAssetsPath, 'adrop_service.json'), JSON.stringify(serviceConfig, null, 2))
          return config
        },
      ])
    }

    function withAdropServiceIOS(config, props) {
      return withDangerousMod(config, [
        'ios',
        async (config) => {
          const projectRoot = config.modRequest.projectRoot
          const projectName = config.modRequest.projectName
          const iosPath = path.join(projectRoot, 'ios', projectName)
          if (!fs.existsSync(iosPath)) fs.mkdirSync(iosPath, { recursive: true })
          const serviceConfig = { app_key: props.ios?.appKey || props.appKey || '' }
          fs.writeFileSync(path.join(iosPath, 'adrop_service.json'), JSON.stringify(serviceConfig, null, 2))
          return config
        },
      ])
    }

    module.exports = function withAdropService(config, props = {}) {
      config = withAdropServiceAndroid(config, props)
      config = withAdropServiceIOS(config, props)
      return config
    }
    ```

    ### 3. app.json 설정

    `app.json`의 `plugins`에 다음 두 개의 플러그인을 등록합니다.

    ```json app.json theme={null}
    {
      "expo": {
        "plugins": [
          [
            "expo-build-properties",
            {
              "android": { "compileSdkVersion": 35, "targetSdkVersion": 35, "minSdkVersion": 24 },
              "ios": { "deploymentTarget": "15.1" }
            }
          ],
          [
            "./plugins/withAdropService",
            {
              "android": { "appKey": "<YOUR_ANDROID_APP_KEY>" },
              "ios": { "appKey": "<YOUR_IOS_APP_KEY>" }
            }
          ]
        ]
      }
    }
    ```

    * **expo-build-properties**: Android `minSdkVersion` 24 이상, iOS `deploymentTarget` 15.1 이상 필요
    * **withAdropService**: Adrop 콘솔에서 발급받은 `appKey`를 플랫폼별로 전달
  </Tab>
</Tabs>

***

## 초기화

앱 시작 시 SDK를 초기화합니다. 일반적으로 `App.tsx` 또는 `index.js`에서 호출합니다.

```tsx App.tsx theme={null}
import { Adrop } from 'adrop-ads-react-native';

// 앱 시작 시 초기화
Adrop.initialize(false); // false: 테스트 모드, true: 프로덕션 모드
```

### 초기화 옵션

```tsx theme={null}
Adrop.initialize(
  production,        // boolean: 프로덕션 모드 여부
  targetCountries,   // string[]?: 타겟 국가 코드 배열 (선택)
  useInAppBrowser    // boolean?: iOS 인앱 브라우저 사용 여부 (선택)
);
```

**파라미터**

| 파라미터              | 타입         | 필수 | 설명                                 |
| ----------------- | ---------- | -- | ---------------------------------- |
| `production`      | `boolean`  | Y  | `true`: 프로덕션 모드, `false`: 테스트 모드   |
| `targetCountries` | `string[]` | N  | 광고를 표시할 국가 코드 (예: `['KR', 'US']`)  |
| `useInAppBrowser` | `boolean`  | N  | iOS에서 인앱 브라우저 사용 여부 (기본값: `false`) |

**예제**

```tsx theme={null}
// 기본 초기화 (테스트 모드)
Adrop.initialize(false);

// 프로덕션 모드 + 특정 국가 타겟팅
Adrop.initialize(true, ['KR', 'JP', 'US']);

// 프로덕션 모드 + iOS 인앱 브라우저 사용
Adrop.initialize(true, undefined, true);
```

***

## 테마 설정

광고 UI 테마를 설정합니다.

```tsx theme={null}
import { Adrop, AdropTheme } from 'adrop-ads-react-native';

// 테마 설정
Adrop.setTheme(AdropTheme.auto);  // 시스템 설정 따름
Adrop.setTheme(AdropTheme.light); // 라이트 모드
Adrop.setTheme(AdropTheme.dark);  // 다크 모드
```

| 테마                 | 설명               |
| ------------------ | ---------------- |
| `AdropTheme.auto`  | 시스템 설정에 따라 자동 전환 |
| `AdropTheme.light` | 라이트 모드           |
| `AdropTheme.dark`  | 다크 모드            |

***

## 사용자 식별자 설정

타겟팅 광고를 위해 사용자 식별자(UID)를 설정합니다.

```tsx theme={null}
import { Adrop } from 'adrop-ads-react-native';

Adrop.setUID('user_123');
```

<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`     |
| 팝업 (Bottom)  | `PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM` |
| 팝업 (Center)  | `PUBLIC_TEST_UNIT_ID_POPUP_CENTER` |
| 스플래시         | `PUBLIC_TEST_UNIT_ID_SPLASH`       |

```tsx theme={null}
// 배너 광고 테스트
const testBannerUnitId = 'PUBLIC_TEST_UNIT_ID_320_50';
```

<Warning>
  프로덕션 배포 전에 반드시 실제 유닛 ID로 교체하세요.
</Warning>

***

## 에러 코드

SDK에서 발생할 수 있는 에러 코드입니다.

| 에러 코드                                   | 설명            |
| --------------------------------------- | ------------- |
| `AdropErrorCode.network`                | 네트워크 오류       |
| `AdropErrorCode.internal`               | 내부 오류         |
| `AdropErrorCode.initialize`             | SDK 초기화 오류    |
| `AdropErrorCode.invalidUnit`            | 유효하지 않은 유닛 ID |
| `AdropErrorCode.notTargetCountry`       | 타겟 국가가 아님     |
| `AdropErrorCode.inactive`               | 비활성화된 광고      |
| `AdropErrorCode.adNoFill`               | 노출할 광고 없음     |
| `AdropErrorCode.adDuplicated`           | 중복 로드 요청      |
| `AdropErrorCode.adLoading`              | 로드 진행 중       |
| `AdropErrorCode.adEmpty`                | 빈 광고          |
| `AdropErrorCode.adShown`                | 이미 표시된 광고     |
| `AdropErrorCode.adHideForToday`         | 오늘 숨김 처리된 광고  |
| `AdropErrorCode.adLandscapeUnsupported` | 가로 모드 미지원     |
| `AdropErrorCode.backfillNoFill`         | 백필 광고 없음      |

```tsx theme={null}
import { AdropErrorCode } from 'adrop-ads-react-native';

// 에러 처리 예시
if (errorCode === AdropErrorCode.adNoFill) {
  console.log('노출할 광고가 없습니다.');
}
```

***

## 문제 해결

### 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 {
        kotlinVersion = '2.1.0'
    }
}
```

***

## 다음 단계

<CardGroup cols={2}>
  <Card title="배너 광고" icon="rectangle-ad" href="/ko/sdk/react-native/banner">
    배너 광고 구현하기
  </Card>

  <Card title="네이티브 광고" icon="puzzle-piece" href="/ko/sdk/react-native/native">
    네이티브 광고 구현하기
  </Card>

  <Card title="전면 광고" icon="expand" href="/ko/sdk/react-native/interstitial">
    전면 광고 구현하기
  </Card>

  <Card title="보상형 광고" icon="gift" href="/ko/sdk/react-native/rewarded">
    보상형 광고 구현하기
  </Card>

  <Card title="WebView 가이드" icon="globe" href="/ko/sdk/react-native/webview">
    WebView에서 웹 광고 표시
  </Card>

  <Card title="UMP 연동" icon="shield-check" href="/ko/sdk/react-native/ump">
    GDPR/CCPA 동의 관리
  </Card>

  <Card title="팝업 광고" icon="up-right-from-square" href="/ko/sdk/react-native/popup">
    팝업 광고 구현하기
  </Card>

  <Card title="스플래시 광고" icon="mobile-screen" href="/ko/sdk/react-native/splash">
    스플래시 광고 설정하기
  </Card>

  <Card title="타겟팅" icon="bullseye" href="/ko/sdk/react-native/targeting">
    사용자 및 문맥 타겟팅 설정
  </Card>

  <Card title="레퍼런스" icon="book" href="/ko/sdk/react-native/reference">
    전체 API 레퍼런스
  </Card>

  <Card title="예제" icon="code" href="/ko/sdk/react-native/examples">
    전체 구현 예제
  </Card>
</CardGroup>
