The NativeAdUnit is a subclass of the AdUnit class. Use the NativeAdUnit object to create and configure a native ad unit in your app.
Create a new NativeAdUnit associated with a Prebid Server configuration ID.
Parameters
configId (String): Prebid Server configuration ID. Note: this is a Prebid Server impression-level stored request ID.
Create a NativeAdUnit
let nativeUnit = NativeRequest(configId: your-config-id)
Configure the NativeAdUnit
To configure the NativeAdUnit create the following objects and set the value of NativeAdUnit.assets to an array containing these items.
NativeAssetImage
| Type | Scope | Description |
|---|---|---|
| Main | Optional | The image that will be displayed in the native ad. Include a value for minimumWidth and minimumHeight. Ensure that the NativeAssetImage.type is set to ImageAsset.Main |
| Icon | Optional | The icon that will be displayed with the native ad. Include a value for minimumWidth and minimumHeight. Ensure that the NativeAssetImage.type is set to ImageAsset.Icon. |
NativeAssetData
| Type | Scope | Description |
|---|---|---|
| Description | Optional | The content to appear with the ad. Ensure that the type is set to DataAsset.description. |
| ctatext | Optional | The text for the call to action button of the native ad. Ensure that the type is set to DataAsset.ctatext. |
| Sponsored | Optional | The sponsor (brand) of the native ad. Ensure that the type is set to DataAsset.sponsored. |
NativeAssetTitle
| Type | Scope | Description |
|---|---|---|
| Title | Optional | The title of the native ad. |
let image = NativeAssetImage(minimumWidth: 200, minimumHeight: 200, required: true)
image.type = ImageAsset.Main
let icon = NativeAssetImage(minimumWidth: 20, minimumHeight: 20, required: true)
icon.type = ImageAsset.Icon
let title = NativeAssetTitle(length: 90, required: true)
let body = NativeAssetData(type: DataAsset.description, required: true)
let cta = NativeAssetData(type: DataAsset.ctatext, required: true)
let sponsored = NativeAssetData(type: DataAsset.sponsored, required: true)
nativeUnit.assets = [icon,title,image,body,cta,sponsored]
let event1 = EventType.Impression
eventTrackers = NativeEventTracker(event: event1, methods: [EventTracking.Image,EventTracking.js])
nativeUnit.eventtrackers = [eventTrackers]
Load the NativeAdUnit
nativeUnit.fetchDemand(adObject: self.request) { [weak self] (resultCode: ResultCode) in
print("Prebid demand fetch successful \(resultCode.name())")
// call loadAd to load the view
}