Integrate Vpon with mediation
Stay organized with collections
Save and categorize content based on your preferences.
This guide is intended for publishers who are interested in using Google
Mobile Ads mediation with Vpon. It walks
through the setup of a mediation adapter to work with your current iOS app
and the configuration of additional settings.
Prerequisites
Helpful primers
The following Help Center articles provide background information on mediation:
Add Vpon 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.
Download the adapter and SDK for Vpon from the
resources above.
Add the downloaded network adapter/SDK in Xcode: right-click
on your project and click Add Files to project.
Include any frameworks, compiler flags, or linker flags that Vpon
require. There's no need to write additional code. Mediation invokes the
Vpon 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 Vpon. 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
GADBannerView
, 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: GADBannerView) {
print("Banner adapter class name: \(bannerView.adNetworkClassName)")
}
Objective-C
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
NSLog(@"Banner adapter class name: %@", bannerView.adNetworkClassName);
}
Similarly, for interstitials, check the adNetworkClassName
property
on GADInterstitialAd
inside interstitialDidReceiveAd
:
Swift
func interstitialDidReceiveAd(_ ad: GADInterstitialAd) {
print("Interstitial adapter class name: \(ad.adNetworkClassName)")
}
Objective-C
- (void)interstitialDidReceiveAd:(GADInterstitialAd *)interstitial {
NSLog(@"Interstitial adapter class name: %@", interstitial.adNetworkClassName);
}
For ads returned from AdMob,
adNetworkClassName
returns
GADMAdapterGoogleAdMobAds
.
For ads fetched through
custom events, it returns
GADMAdapterCustomEvents
.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-04 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis guide helps publishers integrate Vpon ads into their iOS apps using Google Mobile Ads mediation.\u003c/p\u003e\n"],["\u003cp\u003eYou'll need an existing iOS app with the Google Mobile Ads SDK and an AdMob account with configured ad units.\u003c/p\u003e\n"],["\u003cp\u003eAfter adding the Vpon adapter and SDK, there's no need for extra code; mediation handles ad serving automatically.\u003c/p\u003e\n"],["\u003cp\u003eImplement \u003ccode\u003eGADBannerViewDelegate\u003c/code\u003e or \u003ccode\u003eGADInterstitialDelegate\u003c/code\u003e to receive ad lifecycle event notifications.\u003c/p\u003e\n"],["\u003cp\u003eYou can identify the ad network that served an ad by checking the \u003ccode\u003eadNetworkClassName\u003c/code\u003e property.\u003c/p\u003e\n"]]],["Publishers using Google Mobile Ads mediation with Vpon should download the Vpon adapter and SDK, then add them to their Xcode project. Integrate ads into the app as before, with no additional code necessary for mediation. Configure the ad unit within the AdMob account to include mediation line items. Event notifications, such as impressions, are handled through `GADBannerViewDelegate` and `GADInterstitialAd`. Check `adNetworkClassName` to identify the ad network serving the ad.\n"],null,["This guide is intended for publishers who are interested in using Google\nMobile Ads mediation with **Vpon**. It walks\nthrough the setup of a mediation adapter to work with your current iOS app\nand the configuration of additional settings.\n\n| Vpon Resources |\n|-------------------------------------------------------------------------------|\n| [Documentation](http://vpon-sdk.github.io/ios/mediation/admob/) |\n| [SDK](http://vpon-sdk.github.io/ios/download/index.html) |\n| [Adapter](http://vpon-sdk.github.io/ios/download/index.html#adapter-download) |\n| [Customer support](mailto:fae@vpon.com) |\n\nPrerequisites\n\n- An iOS app with Google Mobile Ads SDK integrated (If you don't\n have one, see [Get Started](/admob/ios/quick-start).)\n\n- An AdMob account and [an ad unit configured with mediation line\n items](//support.google.com/admob/answer/3124703).\n\nHelpful primers\n\nThe following Help Center articles provide background information on mediation:\n\n- [About AdMob Mediation](//support.google.com/admob/answer/3063564)\n- [Set up AdMob Mediation](//support.google.com/admob/answer/3124703)\n- [Optimize AdMob Network](//support.google.com/admob/answer/3534471)\n\nAdd Vpon to your project\n\nIntegrate ads into your app the same as before. To integrate\nnon-interstitial ads (banner size, leaderboard size, and so on),\nsee [Banner Ads](/admob/ios/banner). To integrate\ninterstitial ads (full-screen ads that mask all other content),\nsee [Interstitial Ads](/admob/ios/interstitial).\n\nThe following steps change your ad placement into a mediation\nplacement that can show ads from multiple networks.\n\n1. Download the adapter and SDK for Vpon from the\n [resources above](#resources).\n\n2. Add the downloaded network adapter/SDK in Xcode: right-click\n on your project and click **Add Files to \u003cvar class=\"readonly\" translate=\"no\"\u003eproject\u003c/var\u003e**.\n\n3. Include any frameworks, compiler flags, or linker flags that Vpon\n require. There's no need to write additional code. Mediation invokes the\n Vpon adapter and SDK as necessary to create ads.\n\nSet up event notification\n\nTo be notified of ad lifecycle events like impressions, you can implement\na `GADBannerViewDelegate`. When using mediation, this delegate is\nautomatically notified of events from Vpon. For example, impressions\nfrom any ad network are reported through the `adViewDidReceiveAd:` method of\n`GADBannerViewDelegate`.\n\nCheck the value of adNetworkClassName\n\nYou can optionally check the `adNetworkClassName` property on\n`GADBannerView`, which returns the ad network class\nname of the ad network that fetched the current banner once the\n`adViewDidReceiveAd` callback is called: \n\nSwift \n\n func adViewDidReceiveAd(_ bannerView: GADBannerView) {\n print(\"Banner adapter class name: \\(bannerView.adNetworkClassName)\")\n }\n\nObjective-C \n\n - (void)adViewDidReceiveAd:(GADBannerView *)bannerView {\n NSLog(@\"Banner adapter class name: %@\", bannerView.adNetworkClassName);\n }\n\nSimilarly, for interstitials, check the `adNetworkClassName` property\non `GADInterstitialAd` inside `interstitialDidReceiveAd`: \n\nSwift \n\n func interstitialDidReceiveAd(_ ad: GADInterstitialAd) {\n print(\"Interstitial adapter class name: \\(ad.adNetworkClassName)\")\n }\n\nObjective-C \n\n - (void)interstitialDidReceiveAd:(GADInterstitialAd *)interstitial {\n NSLog(@\"Interstitial adapter class name: %@\", interstitial.adNetworkClassName);\n }\n\nFor ads returned from AdMob, `adNetworkClassName` returns `GADMAdapterGoogleAdMobAds`. For ads fetched through [custom events](/admob/ios/custom-events), it returns `GADMAdapterCustomEvents`.\n\n\u003cbr /\u003e"]]