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

# Getting Started

> Integrate the DARO iOS SDK into your app.

<Note>
  An Ad Unit defines an ad placement and format in your app. For the DARO 2.0.1 SDK, copy the **Ad Unit Key** from the updated dashboard. This is different from the app’s Integration Key. API parameters such as `adUnitId`, `unitId`, and `key`, and example placeholders such as `YOUR_AD_UNIT_ID`, keep their names but take that Ad Unit’s Ad Unit Key. Existing integrations using Ad Unit IDs remain supported. Do not confuse reporting or callback identifiers with the key for a new integration.
</Note>

## Before You Begin

Check requirements before integration.

### Requirements

* iOS 13.0 or higher
* Xcode 26 or higher

<Check>
  Verify [app-ads.txt setup](https://guide.daro.so/en/app-ads-txt-settings) before proceeding.
</Check>

***

## Install the SDK

Install the DARO 2.0.1 SDK with CocoaPods or Swift Package Manager (SPM). If your app uses the legacy SDK (before 2.0.0), follow the [iOS migration guide](/en/sdk-integration-v2/ios_new/migration-guide) first.

<Note>
  One SDK supports all ad formats. Use `import Daro` in Swift and `DaroObjCBridge` in Objective-C.
</Note>

<Tabs>
  <Tab title="CocoaPods">
    Add the dependency to your app target in the Podfile.

    ```ruby theme={null}
    target 'YourApp' do
      pod 'DaroAds', '2.0.1'
    end
    ```

    For Objective-C, install `DaroObjCBridge` at the same version instead of `DaroAds`.

    Add this hook to the same Podfile. If a `post_install` block already exists, add the four lines inside that block instead of creating another one.

    ```ruby theme={null}
    post_install do |installer|
      hook = Dir.glob(File.expand_path('Pods/*/**/Scripts/daro_integration_key.rb', __dir__)).first
      raise '[Daro] INTEGRATION KEY hook not found' unless hook
      require hook
      Daro::IntegrationKey.install!(installer)
    end
    ```

    Add the Integration Key issued by the dashboard to the **source `Info.plist` used by your app target**.

    ```xml theme={null}
    <key>DaroIntegrationKey</key>
    <string>YOUR_INTEGRATION_KEY</string>
    ```

    <Warning>
      Create an actual `Info.plist` file and point the app target's **Build Settings > Info.plist File (`INFOPLIST_FILE`)** to it. The hook does not support targets that only use an automatically generated Info.plist. If Debug and Release use different files, add the key to each file.
    </Warning>

    Install the SDK and apply the required app settings:

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

    Run `pod install` again whenever the Integration Key changes. Resolve any hook errors before building your app.
  </Tab>

  <Tab title="Swift Package Manager">
    In Xcode, open **File > Add Package Dependencies…**, enter this URL, and select version `2.0.1`.

    ```text theme={null}
    https://github.com/delightroom/daro-ios-sdk.git
    ```

    Add the `DaroAds` product for Swift or `DaroObjCBridgeAds` for Objective-C to your app target.

    For a `Package.swift` declaration:

    ```swift theme={null}
    dependencies: [
        .package(
            url: "https://github.com/delightroom/daro-ios-sdk.git",
            exact: "2.0.1"
        ),
    ],
    targets: [
        .target(
            name: "YourApp",
            dependencies: [
                .product(name: "DaroAds", package: "daro-ios-sdk"),
            ]
        ),
    ]
    ```

    SPM does not run the Integration Key configuration tool automatically. Download and extract the [matching SDK ZIP](https://github.com/delightroom/daro-ios-sdk/releases/download/v2.0.1/Daro.xcframework.zip). Use the included `Scripts/daro` tool.

    Add the following to the **source `Info.plist` used by your app target**. Create an actual file and point **Build Settings > Info.plist File (`INFOPLIST_FILE`)** to it.

    ```xml theme={null}
    <key>DaroIntegrationKey</key>
    <string>YOUR_INTEGRATION_KEY</string>
    ```

    From the extracted directory, run this command with the path to your app's source `Info.plist`:

    ```bash theme={null}
    ./Scripts/daro platform-key --plist "/path/to/YourApp/Info.plist" --inject
    ```

    Build the app after the command succeeds. Run it for each file if Debug and Release use different files, and run it again whenever the Integration Key changes.

    <Warning>
      Do not add this command to an app build phase or run it against the built app's Info.plist. Apply the configuration to the project source before building.
    </Warning>

    For both Swift and Objective-C, add `-ObjC` to the app target's **Build Settings > Other Linker Flags (`OTHER_LDFLAGS`)**. See [Other Linker Flags](#other-linker-flags).
  </Tab>
</Tabs>

***

## Configure Your App

<Accordion title="Update Info.plist" description="Add the following IDs to your Info.plist." icon="sparkles">
  <Note>
    Complete Integration Key configuration using your installation method above. Add the following `SKAdNetworkItems` to the app's Info.plist manually.
  </Note>

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

<Note>
  Copy `SKAdNetworkItems` from Info.plist to your app's Info.plist. Required for ad demand sources to receive conversion performance reports. Significantly affects ad performance.
</Note>

### Other Linker Flags

<Warning>
  **When `-ObjC` is required**

  You **must** add `-ObjC` to your app target's **Build Settings > Other Linker Flags (`OTHER_LDFLAGS`)** if any of the following applies:

  * Objective-C project
  * Swift project integrating `DaroAds` or `DaroObjCBridgeAds` via Swift Package Manager (required so ad demand adapters are detected at runtime)

  Without this flag, the SDK may not work correctly or some ad demand sources will fail to load.
</Warning>

Follow these steps in Xcode project settings:

1. Select your project file in Xcode
2. Select the **Build Settings** tab
3. Search for "Other Linker Flags"
4. Add `-ObjC` to **Other Linker Flags**

***

## Initialize SDK

<Warning>
  **Important: Load Ads After Initialization**

  Load all ads after SDK initialization completes. Requesting ads before initialization may prevent proper display.
</Warning>

Add to your app's `AppDelegate` file:

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    import Daro

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Start SDK
        DaroAds.shared.initialized { error in
          if let error {
            print("Daro SDK initialization error : \(error)")
          } else {
            print("Daro SDK initialized successfully")
          }
        }

        // (Optional) Set user ID
        DaroAds.shared.userId = "user_id"

        // (Optional) Set log level
        DaroAds.shared.logLevel = .debug  // .off, .error, .debug

        return true
    }
    ```
  </Tab>

  <Tab title="Objective-C">
    ```objc theme={null}
    #import <DaroObjCBridge/DaroObjCBridge.h>
    #import <DaroObjCBridge/DaroObjCBridge-Swift.h>

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // (Optional) Set user ID - recommended before SDK initialization
        [DaroObjCAds shared].userId = @"user_id";

        // (Optional) Set log level - recommended before SDK initialization
        [DaroObjCAds shared].logLevel = DaroObjCLogLevelDebug;  // Off, Error, Debug

        // Start SDK
        [[DaroObjCAds shared] initializeWithCompletion:^(NSError * _Nullable error) {
            if (error) {
                NSLog(@"Daro SDK initialized error: %@", error);
            } else {
                NSLog(@"Daro SDK initialized successfully");
            }
        }];

        return YES;
    }
    ```
  </Tab>
</Tabs>

### Preventing currentWindow Crashes

<Warning>
  **currentWindow-Related Crashes in Some Ad SDKs**

  Some ad SDKs may throw `unrecognized selector sent to instance` exceptions when accessing `UIApplication.shared.delegate.window`. This occurs when the AppDelegate doesn't have a window property defined in SceneDelegate or SwiftUI environments.

  Add the following variable to your AppDelegate to prevent this issue:
</Warning>

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    @main
    class AppDelegate: UIResponder, UIApplicationDelegate {
        var window: UIWindow?

        // ... rest of your code
    }
    ```
  </Tab>

  <Tab title="Objective-C">
    ```objc theme={null}
    @interface AppDelegate : UIResponder <UIApplicationDelegate>

    @property (nonatomic, strong) UIWindow *window;

    @end
    ```
  </Tab>
</Tabs>

### Log Level

DARO SDK supports the following log levels:

* `.off` / `Off`: No log output
* `.error` / `Error`: Only error logs
* `.debug` / `Debug`: All log output (recommended during development)

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    DaroAds.shared.logLevel = .debug
    ```
  </Tab>

  <Tab title="Objective-C">
    ```objc theme={null}
    [DaroObjCAds shared].logLevel = DaroObjCLogLevelDebug;
    ```
  </Tab>
</Tabs>

### Set User ID

Set `userId` property if your app requires user identification. Value sends with all ad requests.

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    DaroAds.shared.userId = "user_id"
    ```
  </Tab>

  <Tab title="Objective-C">
    ```objc theme={null}
    [DaroObjCAds shared].userId = @"user_id";
    ```
  </Tab>
</Tabs>

### App Mute Setting

For app open, banner, interstitial, rewarded, and native ad formats, you can use the `setAppMuted` method to inform the DARO SDK that the app volume has been muted.

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    // Mute app
    DaroAds.shared.setAppMuted(true)

    // Unmute app
    DaroAds.shared.setAppMuted(false)
    ```
  </Tab>

  <Tab title="Objective-C">
    ```objc theme={null}
    // Mute app
    [[DaroObjCAds shared] setAppMuted:YES];

    // Unmute app
    [[DaroObjCAds shared] setAppMuted:NO];
    ```
  </Tab>
</Tabs>

<Tip>
  Native ads apply the mute state to video playback at load time. Call `setAppMuted` before loading native ads.
</Tip>

<Warning>
  **App Mute Usage Precautions**

  When app mute is enabled, some video ad creatives that cannot play while muted may be excluded from ad requests, which can slightly reduce the ad pool and affect revenue.
</Warning>

***

## Precautions

<Warning>
  **Location-Based Background Updates**

  Apps using location-based background updates that display ads on first screen must implement additional handling to load and display ads when app becomes active.

  See: [Handling Location Updates in the Background](https://developer.apple.com/documentation/corelocation/handling-location-updates-in-the-background)
</Warning>
