Integrate Leadbolt with Mediation

This guide is intended for publishers who are interested in using Google Mobile Ads mediation with Leadbolt. It walks through the setup of a mediation adapter to work with your current iOS app and the configuration of additional settings.

Leadbolt Resources
Documentation
SDK
Adapter
Customer support

Prerequisites

Add Leadbolt to your project

Integrate ads into your app the same as before. To integrate non-interstitial ads (banner size, leaderboard size, and so on), see Banner Ads. To integrate interstitial ads (full-screen ads that mask all other content), see Interstitial Ads.

The following steps change your ad placement into a mediation placement that can show ads from multiple networks.

  1. Download the adapter and SDK for Leadbolt from the resources above.

  2. Add the downloaded network adapter/SDK in Xcode: right-click on your project and click Add Files to project.

  3. Include any frameworks, compiler flags, or linker flags that Leadbolt require. There's no need to write additional code. Mediation invokes the Leadbolt adapter and SDK as necessary to create ads.

Set up event notification

To be notified of ad lifecycle events like impressions, you can implement a GADBannerViewDelegate. When using mediation, this delegate is automatically notified of events from Leadbolt. For example, impressions from any ad network are reported through the adViewDidReceiveAd: method of GADBannerViewDelegate.

Check the value of adNetworkClassName

You can optionally check the adNetworkClassName property on GAMBannerView, which returns the ad network class name of the ad network that fetched the current banner once the adViewDidReceiveAd callback is called:

Swift

func adViewDidReceiveAd(_ bannerView: GAMBannerView) {
  print("Banner adapter class name: \(bannerView.adNetworkClassName)")
}

Objective-C

- (void)adViewDidReceiveAd:(GAMBannerView *)bannerView {
  NSLog(@"Banner adapter class name: %@", bannerView.adNetworkClassName);
}

Similarly, for interstitials, check the adNetworkClassName property on GAMInterstitialAd inside interstitialDidReceiveAd:

Swift

func interstitialDidReceiveAd(_ ad: GAMInterstitialAd) {
  print("Interstitial adapter class name: \(ad.adNetworkClassName)")
}

Objective-C

- (void)interstitialDidReceiveAd:(GAMInterstitialAd *)interstitial {
  NSLog(@"Interstitial adapter class name: %@", interstitial.adNetworkClassName);
}
For ads fetched through custom events, it returns GADMAdapterCustomEvents.