[go: nahoru, domu]

Episode twelve of The Mobile Ads Garage is live on YouTube! If you haven't seen it before, The Mobile Ads Garage is a video tutorial series that covers how to use the Mobile Ads SDK to display ads from AdMob and DoubleClick for Publishers. Each episode covers one aspect of the SDK, breaks down the feature, and shows screencasts of real implementations on both Android and iOS – all in a friendly format.

With their customizable presentations and ability to be precached, Native Express ads fit right in with list-based user interfaces:

In this deep dive episode of the Mobile Ads Garage, you'll learn how to integrate Native Express ads into an iOS app that uses a UITableViewController for its primary UI. Along the way you'll get a detailed set of step and see screencasts of an implementation in Xcode. The episode also covers a handy technique for tapping into the ad lifecycle to load native express ads sequentially, from the top of the list to the bottom.

If you like the video, save the Mobile Ads Garage playlist to your YouTube Playlist collection and you'll never miss an episode.

We'd love to hear which AdMob features you'd like to learn more about. The comment sections for the videos are open, and you're welcome to toss out ideas for new episodes and examples you'd like to see. If you have a technical question relating to something discussed in one of the episodes, you can bring it to our support forum.

Until next time, be sure to stay connected on all things AdMob by following our Twitter, LinkedIn and Google+ pages.

Summary: Legacy AdMob will sunset August 31st, 2014. The Google Play store will not accept apps using the legacy SDK after August 1st, 2014. Please update.

Greetings AdMob Developers!

We're pleased to announce we've completed the rollout of the new AdMob to over 200 countries. AdMob is now a complete platform for developers to monetize, promote and analyze their apps, with Google Analytics directly available in the AdMob interface. We hope you enjoy the new features it provides, including ad network optimization and simplified mediation. You can read more about the new features and changes in this help center doc.

Since the new AdMob is now available to everyone, we’re beginning our deprecation of the legacy AdMob, and will be sunsetting the old platform on August 31st, 2014. After August 31st:

  • Ads will stop serving to legacy ad units
  • Legacy house ad campaigns will stop serving
  • The legacy AdMob UI will be inaccessible

Please upgrade to the new AdMob as soon as possible - and definitely before the end of August. If you encounter difficulties, please see the help docs and support forms in our Help Center.

We also want to remind you that after August 1st, 2014, the Google Play Store will no longer accept apps using the legacy AdMob SDK. If you're an Android publisher, you should migrate to Google Play Services as soon as possible. We have plenty of resources for you including our migration guide and intro video - and if you still need help, please ask your technical questions on our forum.

We hope that you're as excited about the evolution of AdMob as we are!

According to Gartner, more than 130 billion apps will be downloaded onto phones and tablets in 2014, and most of them will be free. At the same time, revenue from apps is expected to grow by over 200% in the next 4 years. That may sound contradictory, but the reason has been clear to many developers for some time: while the first app economy was predominantly focused on paying for apps up front, we’re now seeing the rise of a second app economy, the era of free apps and incremental payments.

In this second app economy, the currency of success has altered significantly, centered on three critical areas:

  • Understanding audiences: Developers should be able to segment their audiences based on in-app behavior and turn data into useful insights for better monetization.

  • Growing in-app purchase revenue: According to Gartner, soon in-app purchases will account for almost half of all app store revenues, but this model requires a sophisticated approach from app developers and the right tools haven’t been available.

  • Maximizing ad revenue: Developers shouldn’t have to worry about managing ads; ads should optimize themselves, in real time, so developers can focus on other important parts of their business.

To help every developer succeed in this new economy, the AdMob team will be at the Game Developers Conference today to share four announcements.

1. Google Analytics now directly available in AdMob.
We introduced mobile app analytics in mid 2012 and there are hundreds of thousands of app developers using it already. We've now built Google Analytics directly into AdMob so developers can understand how people are using their app, segment them based on behavior in just a few clicks, then act on those insights. For example, the Google Analytics ecommerce report shows key insights into in-app purchases: top items sold, overall revenue and average order value. Now that Google Analytics is built directly into AdMob, developers can have a holistic view on their monetization based not only on revenue from ads but also on in-app purchase performance. All these functionalities have been incorporated into the updated Home tab in AdMob, making it a one-stop shop for all your performance reports.

2. In-App Purchase Ads.
To help developers promote in-app purchases to users in a more relevant way, we're also introducing in-app purchase ads. A developer can use these ads to promote in-app items at the right time to the users who are most likely to make a purchase, while still showing AdMob ads to those who aren't. Segmentation tools enable developers to quickly find these users, and then in-app purchase ads can be used to build relevant interstitial ads to reach them. For example, a developer can discover which of their users began playing their game in the last 48 hours, and promote a ‘welcome pack’ of extra lives at a 50% discount. This creates a more customized experience for users and can help prolong engagement. A developer can also choose where to place these interstitial ads in their app, and they can appear in either portrait or landscape mode.

In-App Purchase Ad

3. Ad network optimization and Live CPM.
If a developer is using more than one ad network to monetize their apps, a mediation tool helps to manage them. However, these tools may not optimize for the highest revenue. To solve this, ad network optimization obtains the most up-to-date CPMs from ad networks in the AdMob mediation stack, and requests ads from the highest paying one.

Live CPM goes one step further to ensure developers earn the most money from their ad impressions. When a developer uses AdMob to monetize, they get real-time access to all of Google’s demand sources, including programmatic demand, via our integration with DoubleClick Ad Exchange. For each ad request, Live CPM compares the highest CPM a developer can get from Google’s demand sources, with the CPM they could get from other networks in their mediation stack. If a higher-paying ad is available from Google’s demand sources, it will serve that ad over lower-paying CPMs offered by the other networks. App developer iHandy Inc. began using Live CPM in February this year. Many apps' revenues increased at different rates, and certain apps achieved a 200% increase.

4. The App Developer Business Kit.
The App Developer Business Kit is an in-depth website designed to help app developers understand ways to build a successful business. For example, there are detailed chapters about building an app, different ways to earn money, and options for marketing your app. You can also check out the interviews with developers, read case studies and view market insights from AdMob surveys which give developers a head start into building apps for global users. For example, did you know that a third of smartphone gamers in China have spent money in apps to personalize characters?

Tune into Google’s GDC livestream today at 10AM PST. We have sessions for game developers all day, and the AdMob talk is from 12-12.30PM PST.

Posted by Jonathan Alferness, Product Management Director, Google

When we’re not guiding a tiny bird across a landscape of pipes on our phones, we’re getting ready for our biggest-ever Developer Day at this year’s Game Developers Conference in San Francisco. On Tuesday 18 March, all the teams at Google dedicated to gaming will share their insights on the best ways to build games, grow audiences, engage players and make money. Some of the session highlights include:

  • Growth Hacking with Play Games
  • Making Money on Google Play: Best Practices in Monetization
  • Grow Your Game Revenue with AdMob
  • From Players to Customers: Tracking Revenue with Google Analytics
  • Build Games that Scale in the Cloud
  • From Box2D to Liquid Fun: Just Add Water-like Particles!

And there’s a lot more, so check out the full Google Developer Day schedule on the GDC website, where you can also buy tickets. We hope to see you there, but if you can’t make the trip, don’t worry; all the talks will be livestreamed on YouTube, starting at 10:00am PDT (5:00pm UTC).

Then from 19-21 March, meet the Google teams in person from AdMob, Analytics and Cloud at the Google Education Center in the Moscone Center’s South Hall (booth no. 218), and you could win a Nexus 7.

Posted by Greg Hartrell, Lead Product Manager

Today, we’re excited to announce the launch of new Google Mobile Ads APIs as part of the Google Play services 4.1 update. The update includes:

  • Support for DoubleClick for Publishers (DFP), Search Ads for Apps, and DoubleClick Ad Exchange
  • A new location API

DoubleClick for Publishers

This release adds new DFP specific APIs to the com.google.android.gms.ads.doubleclick package. For example, you can use the new APIs to request a 320x50 banner ad from DFP as follows:

PublisherAdView adView = new PublisherAdView(this);
adView.setAdUnitId("MY_DFP_AD_UNIT_ID");
adView.setAdSizes(AdSize.BANNER);
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);
layout.addView(adView);
PublisherAdRequest request = new PublisherAdRequest.Builder().build();
adView.loadAd(request);

Check out the DFP docs for more examples on how to use the new DFP APIs. If you’re migrating from the old AdMob Android SDK to Google Play services, be sure to also consult our migration guide which summarizes implementation details for the new APIs.

Search Ads for Apps

Search Ads for Apps support has also been added in this release, with new APIs in the com.google.android.gms.ads.search package. A search ads banner request in Google Play services looks like this:

SearchAdView adView = new SearchAdView(this);
adView.setAdUnitId("MY_ADSENSE_ID");
adView.setAdSize(new AdSize(320, 60));
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);
layout.addView(adView);
SearchAdRequest request = new SearchAdRequest.Builder()
    .setQuery("flower")
    .build();
adView.loadAd(request);

Consult the Search Ads documentation for more information on how to customize your SearchAdRequest.

DoubleClick Ad Exchange

The latest release now supports DoubleClick Ad Exchange, which shares the same AdView and AdRequest classes with AdMob in Google Play Services:

adView = new AdView(this);
adView.setAdUnitId("MY_AD_EXCHANGE_ID");
adView.setAdSize(AdSize.BANNER);
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);
layout.addView(adView);
AdRequest request = new AdRequest.Builder().build();
adView.loadAd(request);

See the Ad Exchange documentation for more information on implementing Ad Exchange with the new library.

Location

We’ve added back the setLocation method to enable you to provide location to an ad request. Note that location should only be provided if your app already makes use of location.

Assuming you’ve grabbed location via a suitable method, you can pass the location when building an AdRequest:

Location location = … // get location.
AdRequest request = AdRequest.Builder().setLocation(location).build();

The new library can be downloaded from Android’s SDK manager. Consult the setup guide for detailed installation instructions. You can see a full list of changes on our release notes page.

Give us a shout on our forum with any questions or concerns about the release, and stay tuned on our G+ page for the latest updates (and maybe even a tips/tricks campaign!) on Google Mobile Ads APIs.

Are you a student who loves to code or has a great idea for a mobile app? Maybe you’re building one right now. Imagine that one day your app could be seen by millions of users.

You’re invited to take part in The AdMob Student App Challenge, a mobile app contest open exclusively to students around the world. The goal is to build a great app (either Android or iOS), create a revenue stream using AdMob's in-app advertising, and tell us about your experience in a written business report. You can either build the app on your own or form a team of up to five students.

To win the Challenge, you'll need a great app and a good business strategy that focuses on how you manage the project, gain users and leverage AdMob. In the next few weeks we’ll be announcing the respected app industry leaders who’ll be on the judging panel.

We’ve got some awesome prizes if you win: The winning team will receive:

  • A 7-night trip to San Francisco with spending money, including a trip to the Google headquarters in Mountain View.
  • The winning app will be featured on the Google Play store and on the Play Store's social channels (certain conditions apply).*
  • An opportunity to star in your own case study video to tell your story.
  • A Nexus 7 device for each team member.

As well as one overall winner, there'll be a winner from each of the four global regions (North America, Latin America, Europe, Middle East & Africa, and Asia Pacific), who'll receive computing devices and an honorary mention on the AdMob website.

The Challenge starts today and you have until March 31, 2014 to build a winning app. Visit the AdMob website to learn more and to register. The winners will be announced in May 2014.

Follow the AdMob G+ page for regular updates and announcements.

Posted by Mike Schipper, Product Marketing, AdMob

*Only apps made available through the Play Store will have an opportunity to be featured. See the Official Rules for more details.

Today, we’re excited to announce the launch of a beta version of the AdMob SDK for Windows Phone 8 to help you monetize your Windows Phone 8 applications! The key features of this SDK include the ability to:
  • Create an AdMob banner view from code
  • Embed an AdMob banner directly in an XAML file
  • Show full-screen interstitial ads
  • Register for ad events such as succeeding or failing to receive an ad
This beta version of the SDK does not include the following features that are available on iOS and Android:
  • Ad Network Mediation
  • Support for DoubleClick for Publishers
  • Search Ads for Mobile Apps support
  • MRAID support
It should also be noted that Windows RT is not supported at this time.

You can get the Windows Phone 8 SDK from our downloads page, and check out the getting started guide for developer instructions. To register an ad unit, you’ll need to have upgraded to the new AdMob. Any questions can be directed to our developer forum, and be sure to stay tuned on the Google Ads Developers Plus page for news on all Google Ads developer products.

Today we’re releasing version 6.5.0 of the Google AdMob SDK for iOS developers. This version of the SDK includes a variety of changes including:

  • Allows you to specify if you would like your app to be treated as child-directed by calling the tagForChildDirectedTreatment: method in GADRequest or by setting the value of tag_for_child_directed_treatment to 1 in extras for older versions of the SDK. More details on this API are available here.
  • Passes Apple's advertising identifier (IDFA) to Google Ad Exchange buyers. This enables buyers to more effectively measure their marketing campaigns on Ad Exchange iOS inventory.
  • We’ve updated the warning messages that are displayed when using mediation with incorrect linker flags. The SDK now requires only the -ObjC linker flag.
  • A number of other bug fixes and maintenance updates.

Check out the release notes for a full list of updates. You can download the latest SDK from our downloads page. If you’ve got any questions or concerns about the new SDK, please post to our forum or check out our G+ page.

Unity is a game development framework that makes it very easy to develop games for mobile platforms. Today we're releasing a plugin to help developers show AdMob banner ads in Unity games developed for iOS and Android. This plugin is packaged as a Unity Package so integration with a Unity project should be very easy. The included README has a step-by-step walkthrough on getting started.

We remind developers to follow AdMob best practices when integrating ads into their games. In particular, we advise that you put ads on screens only where they won’t cause a dip in your app’s frame rate.

You can check out the AdMob Unity plugin on our samples page (Android | iOS). Please direct any questions or general feedback to our forum. You can also follow our Google+ page to stay up to date on all of Google's ads products.


Kunal Verma and William Ferguson never imagined that coding for fun would one day become more than just a pastime. Both developers now independently run their own app businesses, Verma’s XigXag Interactive is a full-time job in India and Ferguson’s XandarMob is a side gig.

Verma’s apps have reached 1.5 million downloads on Google Play, his most popular ones, such as Kids Musical Toys Set, are catered to children. AdMob’s ad content control options are particularly useful for the demographic he serves. Verma’s apps are 100% free with a steady 99.09% fill rate. With AdMob, he makes 3x more income than he would at a regular IT job in India.

Ferguson’s word scramble app, Lexathon, has been translated into 19 different languages and downloaded 430,000+ times by a loyal user base that spends an average of 10 minutes on the app per day. AdMob Mediation allows Ferguson to maximize his fill rate and leverage multiple ad networks to increase his total revenue.

Find out how these indie game developers used AdMob to make a living from their hobby. Download PDF versions of the XigXag case study and XandarMob case study.

Posted by Robin Lam, Mobile Ads Marketing

Last week at Google I/O, we had a Google Ads Track where we provided updates on our Google Ads products. We also made some product announcements, including the launch of a new AdMob to help you build your app business and Open Bidder to help you create real-time bidding applications.

If you weren’t able to attend these sessions in person or watch the live stream, we have recorded them for your convenience:

Share your thoughts on our Google+ page and tell us which session was your favorite!

Toni Fingerroos, a games developer in Finland, became inspired to create a mobile app. He devoted 3 months to building it, often working 16 hour days. That idea became the hugely popular Hill Climb Racing, and the game has grown to be part of a successful app business called Fingersoft.

Hill Climb Racing has been downloaded in over 145 countries on both iOS and Android. AdMob consistently generates nearly 100% ad fill rates and enables Toni to monetize the game on a global scale. He uses AdMob house ads to promote his app too.

“Hill Climb Racing has over 60 million downloads. About 40% [of the revenue] comes from advertisements, and AdMob is our cornerstone,” says Toni. Hear more about Toni’s story in the video below.


Download the PDF version of the case study here.

Posted by Mike Schipper, Product Marketing Manager, AdMob

We’re committed to helping app developers with discovery, distribution and monetization on all platforms so they can continue doing what they do best: creating awesome apps. Last year, we integrated our AdMob inventory into the AdWords system, giving mobile app developers access to many more new advertisers. And we’ve continued to invest in tools to help app developers succeed.

Today at I/O, we’re announcing that we’ve rebuilt AdMob, incorporating the best technology from our other ad platforms, like AdSense. It’s a particularly great tool to help small mobile app developers grow their business.

Starting today, we’ll begin rolling out the new AdMob to our developers. We expect it to be available for all of our developers globally in the coming months. If you’re an AdMob developer, you’ll see a notice in your account asking you to upgrade to the new AdMob.


With the new AdMob, some of the features available are:
  • Smarter app promotion: Conversion Optimizer helps many AdWords advertisers increase conversions while decreasing cost per acquisition. We’re now bringing Conversion Optimizer to app developers using AdMob to promote their apps, so they can get the best possible number of installs for their budget. Choose a target cost per acquisition for each download, and Conversion Optimizer will show ads when they are most likely to lead to an install.
  • Robust ad filters: Ensuring that your app is showing quality, relevant ads is important for app developers. Now, developers will have more control over which ads appear in their apps, by blocking sensitive categories, so they can increase relevancy and protect their brand.
  • Maximized earnings: If developers want to show ads in their apps from more than one ad network, they can use AdMob Mediation with a new, simplified setup.
  • Local payments: We’re introducing local currency payments, so developers don’t need to spend time calculating currency conversions and organizing money transfers.
  • Intelligent reports: The new reporting interface enables app developers to slice the data in many ways with multi-dimensional reports that help them identify opportunities to grow. They can break down their reports over time by app or ad unit, platform, country, bid type, and more.
If a developer is just starting out, AdMob can connect them to more than a million advertisers globally, providing a consistent source of advertising revenue which can grow as their downloads take off.

We want AdMob to open up opportunities for many more app developers worldwide to help them build successful businesses. Join us at Google I/O at 11:15 AM PST today or watch a livestream of our talk: Build a Great App Business with AdMob, and see new demos.

Posted by Vishay Nihalani, Product Manager, AdMob

We recently announced the ability to set an eCPM floor when making requests to the AdMob network. This post will show you how to set up this new feature to get the maximum benefit from the AdMob network.

First of all, we highly recommend that you create a new AdMob publisher ID on admob.com for each Mediation Placement you want to configure with AdMob eCPM floor. By creating a unique publisher ID, you’ll get fine grained reporting on how eCPM floor is performing on each of your placements.

Next, select Add Ad Network on your mediation placement, and add the AdMob eCPM Floor Beta network. In the Ad Network Configuration Settings, point this network to your newly created eCPM floor publisher ID.


Note: If you didn’t previously have a mediation placement, you’ll need to create a mediation placement on mediation.admob.com, and use the mediation placement ID in your application in place of your AdMob publisher ID.

Finally, you need to update your allocation to give the AdMob eCPM Floor Beta network an eCPM value. A suitable value for the eCPM floor is a value higher than the highest eCPM you’re getting from other networks.

In the sample below, Ad Network A is getting $0.37 eCPM. By setting AdMob eCPM Floor Beta slightly higher at $0.40, AdMob Mediation will first try to fetch an ad worth $0.40 eCPM from the AdMob Network. If it can’t fill that request, Mediation will try Ad network A, followed by Ad network B. If neither of those networks can fill the request, Mediation will come back to the AdMob network to fetch an ad without the eCPM floor restriction.


This new configuration will increase your ad revenue for requests fulfilled by AdMob eCPM Floor Beta, while still maintaining the same revenue from the rest of your requests where AdMob cannot fill the eCPM Floor request. You can also track your eCPM Floor performance by viewing sites and apps reporting for your newly created eCPM floor publisher ID.

If you have any questions about eCPM Floor or AdMob in general, please direct them to our forum. You can also follow us on our Google+ page to get updates on all Google ads developer products.

We have just released version 6.4.1 of the Google AdMob SDK for both Android and iOS. The Android release includes:

  • The ability to resize a DfpAdView using dfpAdView.resize(AdSize)
  • A fix for the ANR errors seen in v6.3

The iOS release fixes a crash that occurs if the Advertising Identifier is nil.

You can get the latest SDKs from our downloads page. Find us on the forum if have questions about the new Google AdMob SDKs. You can also check out our Google+ page for ads-related updates.

Today we’re releasing version 6.4.0 of the Google AdMob SDK for iOS developers. In addition to the maintenance and bug fixes listed below, this version of the SDK completes the transition away from UDID, which began with version 6.2, in compliance with relevant Apple policies.

There are a number of maintenance updates and bug fixes including:

  • No longer accesses the UDID
  • Fix for GADInterstitial crash that occurs when app is running in the background
  • Fix for GADMRAIDInterceptor threading crash
  • Renaming symbols to prevent duplicate symbol errors
  • Support for receiving test ads when using AdMob through mediation
  • Test ads are only available on devices running iOS 6 and above

Check out the release notes for a full list of updates. You can download the latest SDK from our downloads page. If you’ve got questions or concerns about using the new AdMob SDK, please post to the forum or check out our G+ page.

Ad networks take into account a variety of signals when targeting ads to your users. Generally speaking, the more information you provide to an ad network, the more accurately that network can target its ads, and the better those ads perform.

Many parameters, such as age, gender, and location, are commonly used by most ad networks. AdMob Mediation supports passing those parameters directly in the AdRequest; these parameters will be passed to the networks you’re mediating:

AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adRequest.setBirthday(new Date(2000, 1, 1));
adRequest.setGender(AdRequest.Gender.MALE);
adRequest.setLocation(location);

AdMob Mediation also supports passing specialized parameters to specific networks. Any custom parameters used by a specific ad network can be passed to an instance of that network adapter’s NetworkExtras object, which is then set on the AdRequest. Here is how you can customize the background and text colors for AdMob text ads, and set education level and number of children for a hypothetical Example ad network:

AdMobAdapterExtras adMobExtras = new AdMobAdapterExtras();
adMobExtras.addExtra("color_bg", "00FFFF");
adMobExtras.addExtra("color_text", "FF0000");
adRequest.setNetworkExtras(adMobExtras);

ExampleAdapterExtras exampleExtras = new ExampleAdapterExtras();
exampleExtras.setEducation(Education.BACHELORS);
exampleExtras.setNumberOfChildren(2);
adRequest.setNetworkExtras(exampleExtras);

AdMob Mediation will pass an adapter only the NetworkExtras object specific to that network. So in this case, the AdMob adapter will be provided with the AdMobAdapterExtras object, and the Example adapter will be provided with the ExampleAdapterExtras object. You can find the class name for each ad network’s NetworkExtras object in their respective adapter jar file.

Custom Events

You can also use CustomEventExtras to pass special parameters to any custom events that your app implements. Keep in mind that you can call AdRequest.setNetworkExtras() with only one instance of CustomEventExtras for all custom events that you implement. To make sure your custom event doesn’t access parameters meant for other custom events, we recommend you create a HashMap for each custom event, and pass in any necessary key-value pairs related to that custom event in that map.

CustomEventExtras customEventExtras = new CustomEventExtras();
HashMap customExtras1 = new HashMap();
customExtras1.put("key1", "value1");
customExtras1.put("key2", "value2");
customEventExtras.addExtra("customEvent1", customExtras1);
HashMap customExtras2 = new HashMap();
customExtras1.put("key1", "othervalue1");
customExtras1.put("key2", "othervalue2");
customEventExtras.addExtra("customEvent2", customExtras2);

Your custom event implementation just needs to check CustomEventExtras for the HashMap at whatever key that was designated for it - in this case customEvent1. You’ll use these parameters to construct your custom event.

HashMap extras =
    (HashMap) customEventExtras.getExtra("customEvent1");

Load the Ad

Once you’re done setting all targeting options, make sure to call loadAd with that request.

// This snippet assumes you have an AdView object named "adView".
adView.loadAd(adRequest);

If you have any questions or comments about AdMob, mediation, custom events, or targeting, we can field them in the forum. Also follow us on our Google+ page for ads-related updates.

You spoke and we listened; we like to do that in Developer Relations! We've heard your comments regarding Google Developer Live (GDL) events and we understand that they are often key to solving complex questions you have. In order to keep up with your demand we've scheduled another round of Hangouts for all of our products over the next few months.

In the upcoming Hangouts you'll notice that we are experimenting with some new formats. On some products you'll see engineer interviews, third party product discussions, or the typical Office Hours. You can view the newly scheduled hangouts on the Google Developers events page. Please RSVP by clicking the “I’ll be there” button if you plan on attending.

In case you haven’t joined us before, you'll need four things to join the hangout:

These hangouts are informal and conversational, which make them a great place to ask questions or give us feedback. If you have questions about our GDLs, reach out to us on the forums.

We are happy to announce the latest SDK release, v6.3.0, for both Android and iOS. v6.3.0 is a bug-fix release that includes:

  • Improved logging messages on Android
  • Fix for crash in Eclipse when defining an AdView in the graphical XML layout editor
  • New logging statement that provides the ID to pass to request.testDevices on iOS to enable test ads on a specific device
  • Support for test ads on iOS6
  • Fix for crash in GADMraidInterceptor on iOS

Check out the release notes for a full list of updates. Let us know on the forum if you have any questions about the new release. You can also follow us on our Google+ page for ads-related updates.

Deprecation of Old AdMob SDKs

With the release of v6.3.0, we are deprecating old versions of the AdMob SDK to help us better support newer versions. Starting March 18, 2013, we will no longer support ad requests made through AdMob SDKs released before 2011. Requests that come from apps using deprecated versions of the SDK will no longer receive ads.

Which versions of the SDK are you deprecating?

We are deprecating all SDKs which were released before 2011. On Android, this includes any SDK released on November 9, 2010 or before. On iOS, this includes any SDK released on September 8, 2010 or before. See below for information on how to determine if your SDK version is being deprecated.

How do I determine if my SDK version is being deprecated?

For Android, if your code references com.admob.android.ads.* then you are using one of the SDKs that needs to be updated.

For iOS, if you have headers such as AdMobView.h or AdMobDelegateProtocol.h in your application, then you are using one of the SDKs that needs to be updated.

I’ve upgraded my app to use a recent version of the SDK. What will happen to traffic coming from older versions of the SDK starting on March 18?

We recommend you encourage your users to upgrade to the latest version of your app. Traffic from older versions of the app still using the legacy SDKs will no longer receive ads.

Are there any additional benefits to upgrading?

The more recent SDK versions provide performance enhancements, access to our latest ad units, and fixes for common issues.

There are a number of ways interstitials can be incorporated into applications that play video. One common integration we’ve seen is displaying the interstitial right before a video is played. This blog post will show you how to do this on iOS.


Set Up Your Video Player

For this specific example, we’re going to use MPMoviePlayerController. This class makes it easy to integrate video playback into your iOS application. However, make sure not to use MPMoviePlayerViewController as we want to have control over our own view controller.

- (void)viewDidLoad {
  [super viewDidLoad];
  NSURL *bundleURL = [[NSBundle mainBundle] bundleURL];
  NSURL *movieURL = [bundleURL URLByAppendingPathComponent:@"Video_Name_Here.mp4"];
  player_ = [[MPMoviePlayerController alloc] initWithContentURL: movieURL];
  //  Don’t add the player_ into the view hierarchy yet
  [player_.view setFrame:self.view.bounds];  // player's frame must match parent's
  player_.controlStyle = MPMovieControlStyleFullscreen;
  [[NSNotificationCenter defaultCenter]
    addObserver:self
    selector:@selector(moviePlayerPlaybackDidFinish:)
    name:MPMoviePlayerPlaybackDidFinishNotification
    object:player_];
}

We add an observer at this point to tell us when the movie is done playing. This is typically when our view controller will transition away from the MPMoviePlayerController’s view.


Set Up Your Interstitial

Set up a GADInterstitial object as you normally would and and call loadRequest: at an appropriate time in your application flow. Present the interstitial once it comes back.

- (IBAction)showMovieInterstitial:(id)sender {
  self.interstitial = [[[GADInterstitial alloc] init] autorelease];
  self.interstitial.delegate = self;
  self.interstitial.adUnitID = @”YOUR_IDENTIFIER_HERE”;
  [self.interstitial loadRequest: [GADRequest request]];
}

- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial {
  [interstitial presentFromRootViewController:self];
}

The trick here is that after you receive and present your interstitial, you’re going to have to add your MPMoviePlayerController’s view into your view hierarchy. You want to make this look seamless so that as the interstitial is dismissed, the movie player looks as though it is in the background. This means making the view hierarchy change in interstitialWillDismissScreen: (called before the interstitial is dismissed).

- (void)interstitialWillDismissScreen:(GADInterstitial *)interstitial {
  [self.view addSubview:player_.view];
}

If you’re auto-playing the video, you don’t want to start playing in interstitialWillDismissScreen: as the user will miss a part of the video when the dismissal transition happens. Instead, you can play the movie in interstitialDidDismissScreen:.

- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
    [player_ play];
}

Remember that you have to unregister for notifications when you are cleaning up your MPMoviePlayerController as well.

- (void)dealloc {
  if (player_) {
   [[NSNotificationCenter defaultCenter]
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player_];
    [player_.view removeFromSuperview];
    [player_ release];
    player_ = nil;
  }
  interstitial_.delegate = nil;
  [interstitial_ release];
  [super dealloc];
}

Let us know on the forum if you have any questions about interstitials specifically or the Google AdMob SDK in general. You can also follow us on our plus page for AdMob-related updates.