The Pure In-App Bidding integration is similar to the integration of regular Ad SDK with Prebid in the role of the Ad Server.
Prebid supports rendering of these ad formats:
They can be integrated using these API categories:
Integration example:
// 1. Create an Ad View
let banner = BannerView(frame: CGRect(origin: .zero, size: adSize),
configID: CONFIG_ID,
adSize: adSize)
banner.delegate = self
// 2. Load an Ad
banner.loadAd()
Initialize the BannerAdView
with properties:
frame
- the frame rectangle for the viewconfigID
- an ID of the Stored Impression on the Prebid Serversize
- the size of the ad unit which will be used in the bid request.Call the method loadAd()
which will:
For Banner Video you also need to specify the ad format:
banner.adFormat = .video
Integration example:
// 1. Create an Interstitial Ad Unit
interstitial = InterstitialRenderingAdUnit(configID: CONFIG_ID,
minSizePercentage: CGSize(width: 30, height: 30))
interstitial.delegate = self
// 2. Load an Ad
interstitial.loadAd()
// .....
// 3. Show An Ad
if interstitial.isReady {
interstitial.show(from: self)
}
The way of displaying Video Interstitial is almost the same with two differences:
minSizePercentage
// 1. Create an Interstitial Ad Unit
let interstitial = InterstitialRenderingAdUnit(configID: CONFIG_ID)
interstitial.adFormat = .video
interstitial.delegate = self
// 2. Load an Ad
interstitial.loadAd()
// .....
// 3. Show An Ad
if interstitial.isReady {
interstitial.show(from: self)
}
Initialize the Interstitial Ad Unit with properties:
configID
- an ID of Stored Impression on the Prebid ServerminSizePercentage
- specifies the minimum width and height percent an ad may occupy of a device’s real estate.NOTE: minSizePercentage - plays an important role in a bidding process for display ads. If provided space is not enough demand partners won’t respond with the bids.
Call the method loadAd()
which will make a bid request to Prebid server.
Wait until the ad will be loaded and present it to the user in any suitable time.
// MARK: InterstitialRenderingAdUnitDelegate
func interstitialDidReceiveAd(_ interstitial: InterstitialRenderingAdUnit) {
// Now the ad is ready for display
}
Integration example:
// 1. Create an Ad Unit
rewardedAd = RewardedAdUnit(configID: CONFIG_ID)
rewardedAd.delegate = self
// 2. Load an Ad
rewardedAd.loadAd()
/// .......
// 3. Display the Ad
if rewardedAd.isReady {
rewardedAd.show(from: self)
}
Create the RewardedAdUnit
object with parameter:
Call the loadAd()
method which will make a bid request to Prebid server.
Wait until the ad will be loaded and present it to the user in any suitable time.
// MARK: RewardedAdUnitDelegate
func rewardedAdDidReceiveAd(_ rewardedAd: RewardedAdUnit) {
// Now the ad is ready for display
}