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:

  1. Create a new InterstitialAd, specifying your interstitial ad unit ID
  2. Register for the ad events you care about
  3. Load the InterstitialAd with an AdRequest
  4. 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()) {

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 = 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