Today, we’re delighted to announce the launch of the Google Mobile Ads Unity Plugin v2.1, now with interstitial ads. You can start playing around with the latest code by grabbing the v2.1 Unity package on GitHub.
Interstitial Ads
There are four steps required to integrate interstitial ads:
Create a new InterstitialAd , specifying your interstitial ad unit ID
Register for the ad events you care about
Load the InterstitialAd
with an AdRequest
Show the InterstitialAd
at an appropriate place in your app
The first three steps can be performed at the same time, and can even live in its own helper function:
public InterstitialAd CreateAndLoadInterstitial() {
// Initialize an InterstitialAd.
InterstitialAd interstitial = new InterstitialAd("MY_AD_UNIT_ID");
// Register for ad events.
interstitial.AdLoaded += delegate(object sender, EventArgs args) {};
interstitial.AdFailedToLoad += delegate(object sender, AdFailToLoadEventArgs args) {};
interstitial.AdOpened += delegate(object sender, EventArgs args) {};
interstitial.AdClosing += delegate(object sender, EventArgs args) {};
interstitial.AdClosed += delegate(object sender, EventArgs args) {};
interstitial.AdLeftApplication += delegate(object sender, EventArgs args) {};
// Load the InterstitialAd with an AdRequest.
interstitial.LoadAd(new AdRequest.Builder().Build());
}
You should wait to show the interstitial until a good stopping point in your app, for example when the user finishes a level in your game. Remember to check that the interstitial has finished loading before you show it:
// Call this when a level finishes.
public void LevelFinished() {
if (interstitial.isLoaded()) {
interstitial.Show();
}
}
Keep in mind that an interstitial is a one-time use object. Once the interstitial is closed, you can dispose of the object and prepare another one. This can be implemented directly in the AdClosed
event.
interstitial.AdClosed += delegate(object sender, EventArgs args)
{
interstitial.Destroy();
interstitial = CreateAndLoadInterstitial();
};
Ad Events now use EventHandlers
In this release, we also changed our ad events to be of type EventHandler instead of Action for both BannerView
and InterstitialAd
. This means your callback methods now take an object
representing the event sender, and an EventArgs :
interstitial.AdLoaded = delegate(object sender, EventArgs args)
{
print(“Interstitial Loaded”);
};
The only event with special event args is AdFailedToLoad
. It passes an instance of AdFailedToLoadEventArgs with a Message
describing the error.
interstitial.AdFailedToLoad = delegate(object sender, AdFailedToLoadEventArgs args)
{
print("Interstitial Failed to load: " + args.Message);
};
The source code as well as a sample app for the plugin is available on our googleads-mobile-plugins GitHub repo. If you have any questions about Unity integration, you can reach us on our forum . Remember that you can also find us on Google+ , where we have updates on all of our Google Ads developer products.
Labels:
mobile_ads_sdk, unity
- Eric Leichtenschlag , Mobile Ads Developer Relations