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

# Getting Started

> Guide to integrating Adrop SDK into your iOS project.

## Overview

Use the Adrop iOS SDK to display various ad formats in your app.

### Supported Ad Formats

| Format           | Description                                          |
| ---------------- | ---------------------------------------------------- |
| **Banner**       | Rectangular ads displayed in a portion of the screen |
| **Native**       | Ads that can be customized to match your app UI      |
| **Interstitial** | Full-screen ads that cover the entire screen         |
| **Rewarded**     | Video ads that provide rewards upon completion       |
| **Popup**        | Ads displayed as popups at specific moments          |
| **Splash**       | Ads displayed with your logo when the app starts     |

### Requirements

* iOS 13.0 or higher
* Xcode 14.1 or higher
* Swift 5.0 or higher

***

## Prerequisites

### 1. Add adrop\_service.json File

<Steps>
  <Step title="Download File">
    Download the `adrop_service.json` file from [Ad Control Console](https://console.adrop.io) > **Admin** > **App**.
  </Step>

  <Step title="Add to Project">
    Add the downloaded file to your Xcode project root.
  </Step>

  <Step title="Check Targets">
    When adding the file, ensure that **all targets are selected**.
  </Step>
</Steps>

<Warning>
  The SDK will not function properly without the `adrop_service.json` file.
</Warning>

### 2. Check Unit ID

Check the unit ID for your ad placement in the **Ad Unit** tab of the console.

***

## Installation

### Swift Package Manager (Recommended)

1. In Xcode, select **File > Add Package Dependencies...**
2. Enter the package URL:

```
https://github.com/OpenRhapsody/adrop-ads-pod
```

3. Click **Add Package**

To use backfill ads, add an additional package:

```
https://github.com/OpenRhapsody/adrop-ads-backfill-pod
```

### CocoaPods

1. Create Podfile if it doesn't exist:

```bash theme={null}
pod init
```

2. Add to Podfile:

```ruby title="Podfile" theme={null}
pod 'AdropAds'
pod 'AdropAdsBackfill'
```

3. Install:

```bash theme={null}
pod install --repo-update
```

4. Open the project with `.xcworkspace` file

### Info.plist Configuration

Add the following settings to `Info.plist` for backfill ads:

* **GADApplicationIdentifier**: App ID for backfill ads
* **SKAdNetworkItems**: Required for ad conversion tracking on iOS 14+

<Accordion title="View Info.plist Configuration">
  ```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>
  If your Info.plist already contains a `SKAdNetworkItems` key, do not add a new one — merge only the array (`<array>`) entries. Duplicate keys cause iOS to use only the first array.
</Note>

<Note>
  Please contact Adrop for the full SKAdNetworkItems list and App ID.
</Note>

***

## Initialization

Initialize the SDK in `application(_:didFinishLaunchingWithOptions:)` of your `AppDelegate`.

<CodeGroup>
  ```swift Swift (UIKit) theme={null}
  import AdropAds

  @main
  class AppDelegate: UIResponder, UIApplicationDelegate {
      func application(
          _ application: UIApplication,
          didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {
          // Initialize SDK
          Adrop.initialize(production: false, useInAppBrowser: false, targetCountries: [])
          Adrop.setTheme(.auto)

          return true
      }
  }
  ```

  ```swift Swift (SwiftUI) theme={null}
  import SwiftUI
  import AdropAds

  class AppDelegate: NSObject, UIApplicationDelegate {
      func application(
          _ application: UIApplication,
          didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
      ) -> Bool {
          // Initialize SDK
          Adrop.initialize(production: false, useInAppBrowser: false, targetCountries: [])
          Adrop.setTheme(.auto)

          return true
      }
  }

  @main
  struct MyApp: App {
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

      var body: some Scene {
          WindowGroup {
              ContentView()
          }
      }
  }
  ```

  ```objc Objective-C theme={null}
  @import AdropAds;

  @implementation AppDelegate

  - (BOOL)application:(UIApplication *)application
      didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

      // Initialize SDK
      [Adrop initializeWithProduction:NO useInAppBrowser:NO targetCountries:@[]];
      [Adrop setTheme:AdropThemeAuto];

      return YES;
  }

  @end
  ```
</CodeGroup>

### Initialization Parameters

| Parameter         | Type        | Default | Description                                                              |
| ----------------- | ----------- | ------- | ------------------------------------------------------------------------ |
| `production`      | `Bool`      | `false` | Production mode. Set to `true` when deploying                            |
| `targetCountries` | `[String]?` | `nil`   | List of target country codes (ISO 3166 alpha-2). `nil` for all countries |
| `useInAppBrowser` | `Bool`      | `false` | Whether to use in-app browser                                            |

<Warning>
  Make sure to set `production: true` before deployment. If deployed with `false`, ads will not be displayed.
</Warning>

***

## User Configuration

### Set UID

Set a user identifier for targeted advertising.

<CodeGroup>
  ```swift Swift theme={null}
  Adrop.setUID("user_123")
  ```

  ```objc Objective-C theme={null}
  [Adrop setUID:@"user_123"];
  ```
</CodeGroup>

<Note>
  Set the UID before entering the ad placement for targeted ads to work properly.
</Note>

### Set Theme

Set the theme for ads that support dark mode. Must be set after calling `initialize()`.

<CodeGroup>
  ```swift Swift theme={null}
  // Light mode
  Adrop.setTheme(.light)

  // Dark mode
  Adrop.setTheme(.dark)

  // Follow system settings (recommended)
  Adrop.setTheme(.auto)
  ```

  ```objc Objective-C theme={null}
  // Light mode
  [Adrop setTheme:AdropThemeLight];

  // Dark mode
  [Adrop setTheme:AdropThemeDark];

  // Follow system settings (recommended)
  [Adrop setTheme:AdropThemeAuto];
  ```
</CodeGroup>

<Note>
  `auto` mode automatically detects system dark mode settings. When the theme changes, the splash ad cache is automatically reset.
</Note>

***

## WebView Support

Register a `WKWebView` to display web ads within a WebView.

<CodeGroup>
  ```swift Swift theme={null}
  import WebKit
  import AdropAds

  Adrop.registerWebView(webView)
  ```

  ```objc Objective-C theme={null}
  @import AdropAds;

  [Adrop registerWebView:webView];
  ```
</CodeGroup>

<Note>
  You can check the current SDK version using `Adrop.sdkVersion`.
</Note>

***

## Deep Link Handling

Handle deep links when the app is launched via external links.

<CodeGroup>
  ```swift Swift (SceneDelegate) theme={null}
  func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
      guard let url = URLContexts.first?.url else { return }
      Adrop.handleDeepLink(url: url)
  }
  ```

  ```swift Swift (AppDelegate) theme={null}
  func application(
      _ app: UIApplication,
      open url: URL,
      options: [UIApplication.OpenURLOptionsKey: Any] = [:]
  ) -> Bool {
      Adrop.handleDeepLink(url: url)
      return true
  }
  ```

  ```objc Objective-C theme={null}
  - (BOOL)application:(UIApplication *)app
              openURL:(NSURL *)url
              options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
      [Adrop handleDeepLinkWithUrl:url];
      return YES;
  }
  ```
</CodeGroup>

***

## Test Unit IDs

Use test unit IDs during development. Replace with actual unit IDs before production deployment.

### Banner Ads

| Format              | Test Unit ID                            |
| ------------------- | --------------------------------------- |
| Banner (320x50)     | `PUBLIC_TEST_UNIT_ID_320_50`            |
| Banner (320x100)    | `PUBLIC_TEST_UNIT_ID_320_100`           |
| Carousel Banner     | `PUBLIC_TEST_UNIT_ID_CAROUSEL`          |
| Banner Video (16:9) | `PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9` |
| Banner Video (9:16) | `PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16` |

### Native Ads

| Format              | Test Unit ID                            |
| ------------------- | --------------------------------------- |
| Native (Image)      | `PUBLIC_TEST_UNIT_ID_NATIVE`            |
| Native Video (16:9) | `PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_16_9` |
| Native Video (9:16) | `PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_9_16` |

### Interstitial/Rewarded Ads

| Format       | Test Unit ID                       |
| ------------ | ---------------------------------- |
| Interstitial | `PUBLIC_TEST_UNIT_ID_INTERSTITIAL` |
| Rewarded     | `PUBLIC_TEST_UNIT_ID_REWARDED`     |

### Popup Ads

| Format                    | Test Unit ID                                  |
| ------------------------- | --------------------------------------------- |
| Popup (Bottom)            | `PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM`            |
| Popup (Center)            | `PUBLIC_TEST_UNIT_ID_POPUP_CENTER`            |
| Popup Video Bottom (16:9) | `PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_16_9` |
| Popup Video Bottom (9:16) | `PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_9_16` |
| Popup Video Center (16:9) | `PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_16_9` |
| Popup Video Center (9:16) | `PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_9_16` |

### Splash Ads

| Format | Test Unit ID                 |
| ------ | ---------------------------- |
| Splash | `PUBLIC_TEST_UNIT_ID_SPLASH` |

***

## Error Codes

Main error codes returned when ad loading fails.

| Error Code                | Description                 |
| ------------------------- | --------------------------- |
| `ERROR_CODE_AD_NO_FILL`   | No available ads to display |
| `ERROR_CODE_NETWORK`      | Network connection failed   |
| `ERROR_CODE_INVALID_UNIT` | Invalid unit ID             |
| `ERROR_CODE_INITIALIZE`   | SDK initialization required |

See [Reference](/sdk/ios/reference) for detailed error codes.

***

## Table of Contents

<CardGroup cols={2}>
  <Card title="Banner Ads" href="/sdk/ios/banner">
    Implementing banner ads
  </Card>

  <Card title="Native Ads" href="/sdk/ios/native">
    Implementing native ads
  </Card>

  <Card title="Interstitial Ads" href="/sdk/ios/interstitial">
    Implementing interstitial ads
  </Card>

  <Card title="Rewarded Ads" href="/sdk/ios/rewarded">
    Implementing rewarded ads
  </Card>

  <Card title="Popup Ads" href="/sdk/ios/popup">
    Implementing popup ads
  </Card>

  <Card title="Splash Ads" href="/sdk/ios/splash">
    Implementing splash ads
  </Card>

  <Card title="WebView Guide" href="/sdk/ios/webview">
    Display web ads in WebView
  </Card>

  <Card title="UMP Integration" href="/sdk/ios/ump">
    GDPR/CCPA consent management
  </Card>

  <Card title="Targeting Settings" href="/sdk/ios/targeting">
    User attributes and contextual targeting
  </Card>

  <Card title="Reference" href="/sdk/ios/reference">
    Classes, delegates, error codes
  </Card>

  <Card title="Examples" href="/sdk/ios/examples">
    Example repository
  </Card>
</CardGroup>
