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

# Introduction

> Get started with your React Native integration

## Installation

Install using the [npm](https://www.npmjs.com/) package manager:

```sh theme={null}
npm install @content-ignite/mobile-sdk-react-native
```

## Android Prerequisites

### Requirements

* Minimum SDK version of `24` or higher
* Compile SDK version of `36` or higher

## iOS Prerequisites

### Requirements

* Use Xcode 16.0 or higher.
* Target iOS 17.2 or higher.

### Updating your Info.plist

1. Before installing, update the application `Info.plist` to add a GADApplicationIdentifier key with a string value of your Ad Manager app ID found in the Ad Manager UI and of the form `ca-app-pub-################~##########`. If you do not have this ID, please contact the Content Ignite team.

2. Next add a `SKAdNetworkItems` key to your `Info.plist` with SKAdNetworkIdentifier values for Google (`cstr6suwn9.skadnetwork`) and [select third-party buyers](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/3p-skadnetworks) who have provided these values to Google.

<details>
  <summary><b>Complete snippet</b></summary>

  ```xml theme={null}
  <key>GADApplicationIdentifier</key>
  <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002511 -->
  <string>SAMPLE_APP_ID</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>2fnua5tdw4.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>ydx93a7ass.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>wg4vff78zm.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>mlmmfzh3r3.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>su67r6k2v3.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>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>a2p9lx4jpn.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>22mmun2rn5.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>44jx6755aq.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>k674qkevps.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>kbmxgpxpgc.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>uw77j35x4d.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>tl55sbb4fm.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>c3frkrj4fj.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>3rd42ekr43.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>97r2b46745.skadnetwork</string>
    </dict>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>3qcr597p9d.skadnetwork</string>
    </dict>
  </array>
  ```
</details>

## Initialisation

Initialise the SDK once, early in your app's lifecycle (for example in a top-level `useEffect`) and before rendering any ads. `ContentIgniteSDK.initialise` takes a configuration object and returns a promise that resolves to `true` once the SDK is ready.

### Required

* `publisherId: string`: A unique identifier for the publisher in the Fusion platform, provided by Content Ignite.
* `googleId: string`: Your Google Ad Manager app ID, of the form `ca-app-pub-################~##########`.
* `debugFeature: boolean`: Enables the in-app debug menu — see [Using the Debug features](#using-the-debug-features).

### Optional

* `testAds: boolean`: Serve test creatives instead of live ads during development. Defaults to `false`.
* `appOpenPlacementId: string`: Enables App Open ads via the `CIAppOpenAd` API — see [App Open](/app/react_native/app-open).

```js theme={null}
import ContentIgniteSDK from '@content-ignite/mobile-sdk-react-native';

export default function App() {
  const [isSDKInitialised, setIsSDKInitialized] = useState(false);

  useEffect(() => {
    initializeSDK();
  }, []);

  const initializeSDK = async () => {
    try {
      await ContentIgniteSDK.initialise({
        publisherId: '<PUBLISHER-ID>',
        googleId: "ca-app-pub-3940256099942544~3347511713",
        appOpenPlacementId: "<APP-OPEN-PLACEMENT-ID>",
        testAds: true,
        debugFeature: true,
      }).then(() => {
        console.log('SDK initialized');
      setIsSDKInitialized(true);
      });
    } catch (error) {
      console.error('Failed to initialize SDK:', error);
      setIsSDKInitialized(false);
    }
  }
  ...
```

### Select an ad format

Content Ignite Mobile SDK is now imported and you're ready to implement an ad. We offer a number of different formats:

<Columns cols={2}>
  <Card title="App Open" icon="mobile-screen-button" href="/app/react_native/app-open">
    Ads that appear when a user opens or switches back to your app.
  </Card>

  <Card title="Banner" icon="rectangle-ad" href="/app/react_native/banner">
    Flexibly sized format for placing ads anywhere in your app.
  </Card>

  <Card title="Interstitial" icon="window-maximize" href="/app/react_native/interstitial">
    Full-screen ads that are designed to appear between content transitions.
  </Card>
</Columns>
