# Add Pangle ads to an iOS app

Serve Pangle ads in your IAB ad views. This is an optional module of the IAB Standard Size Experience SDK for iOS. Set up the SDK first by following [Add IAB Standard Size Experiences to an iOS app](https://begenuin.com/developers/developer-resources/sdk/integrate-the-genuin-ad-sdk-for-ios), then add Pangle here.

## Step 1: Add the module

1. In your project, open the Genuin package (`https://github.com/genuininc/ios_sdk`) and add the `GenuinPangleAds` product to your app target.
2. Don't add Pangle's own package. It's already included in `GenuinPangleAds`, and adding it links Pangle twice.

## Step 2: Configure Info.plist

Add Pangle's SKAdNetwork identifiers under `SKAdNetworkItems` in your app's Info.plist. Copy the current list from Pangle's documentation, because it changes over time. Add them to the same array as the identifiers for any other ad network you use.

The SDK never shows the App Tracking Transparency prompt. Request authorization yourself before the first ad view, as described in the SDK guide, so that Pangle can personalize ads.

## Step 3: Register the module

Pass `BGPangleAds.module` when you initialize the SDK in [Step 6](https://begenuin.com/developers/developer-resources/sdk/integrate-the-genuin-ad-sdk-for-ios#step-6-initialize-the-sdk). Adding the product isn't enough: a module you don't pass isn't registered, and its ads are skipped silently.

```swift title="MyApp.swift"
import GenuinSDK
import GenuinInStreamAds
import GenuinPangleAds

Genuin.shared.initialize(
    modules: [BGInStreamAds.module, BGPangleAds.module],
    apiKey: "<<YOUR_API_KEY>>"
)
```

## Where Pangle ads appear

- **Banners:** `BG320x50AdView` and `BG300x250AdView`.
- **Native ads:** every other ad view.

Pangle follows the consent you set with `Genuin.shared.setConsent(...)`.

## Troubleshooting

| Symptom | Cause | Fix |
| --- | --- | --- |
| No Pangle ads appear | The module isn't passed to initialize, or Pangle isn't enabled for your tag | Pass BGPangleAds.module (Step 3) and ask your Genuin team to enable Pangle for your tag IDs. |
| Pangle is linked twice | You also added Pangle's own package | Remove it. GenuinPangleAds already includes Pangle. |
| Ads load but aren't personalized | ATT authorization wasn't requested or was denied | Request authorization before the first ad view. |

## See also

- [Add IAB Standard Size Experiences to an iOS app](https://begenuin.com/developers/developer-resources/sdk/integrate-the-genuin-ad-sdk-for-ios)
- [Add Meta Audience Network ads to an iOS app](https://begenuin.com/developers/developer-resources/sdk/add-meta-audience-network-ads-to-an-ios-app)
- [Add Google Ad Manager ads to an iOS app](https://begenuin.com/developers/developer-resources/sdk/add-google-ad-manager-ads-to-an-ios-app)
