The official blog for information about the Google Ads, Google Ad Manager, Google Mobile Ads SDKs for AdMob and IMA SDKs, and other Google Advertising Platform developer tools.
All of your requests made from your app’s UI or within ad inspector will appear in the SDK request log; your requests made from within ad inspector will be differentiated by being labeled with “Requested from ad inspector”. For these special requests you’ll be able to tap the “View” button one time to view the actual ad, see which network filled the slot, and more.
Alongside single ad source testing, these new testing features will allow you to rigorously test each individual ad network integration in your app.
To learn more about how to test your ads with ad inspector, check out our developer guides here:
Effective today, Android v19 and iOS v7 versions are considered deprecated. In accordance with the schedule above, we plan to sunset Android v19 and iOS v7 versions in Q2 2023 following the releases of Android v22 and iOS v9 planned for Q1 2023. We will provide more specific sunset dates following the releases of Android v22 and iOS v9.
The graphic below helps visualize the state of existing Google Mobile Ads SDK versions for Android and iOS with today’s announcement.
Note: Versions 6.x.x and below for both Android and iOS have been sunset since 2018.
Exceptions
The deprecation schedule provides a framework for predictable lifetimes for an SDK version. However, there may be exceptions in the future. This schedule does not preclude us from sunsetting an SDK version at an earlier date, but we are committed to providing proactive communication with ample lead time for any future changes.
Next Steps
Refer to the deprecation developer pages (Android | iOS) for the latest updates to the deprecation schedule. If you are on a deprecated version, see the Android migration guide or iOS migration guide for more information on how to update.
Stay tuned for future updates to this blog, where more specific sunset dates will be communicated once new major Google Mobile Ads SDK versions are released.
View a full list of mediation ad source configurations for your app
Automatically check your project for missing SDKs, adapters, and manifest changes required by partner ad sources
Load a banner, interstitial, rewarded, or native ad for any ad source using a certified Google Mobile Ads SDK implementation
Batch test multiple ad sources for the same ad unit
Test both open source mediation adapters and custom event adapters
Integrating Mediation Test Suite is easy -- once you have the SDK imported, it can be launched with just a single line of code. All you need is your AdMob app ID.
Including Mediation Test Suite in production builds is optional
You are not required to keep the Mediation Test Suite library in the production release of your app; however, you may choose to leave it in and hide it behind a debug gesture. Doing so enables you to launch Mediation Test Suite within your production build.
You can find more information about how to use Mediation Test Suite in the developer guide (Android | iOS | Unity). Remember that Mediation Test Suite is a beta product, so if you have any questions or feedback, please contact us on the developer forum.
While this worked well as a basic check, it didn't allow for testing what real
ads would look like in a production environment. For example, you couldn't test
your mediation configurations or the different types of banner and interstitial
formats that AdMob offers. The update we're rolling out addresses these
problems.
New Test Ad Behavior
Starting today, apps built against Google Mobile Ads SDK 11.6.0 or higher on
Android or 7.26.0 or higher on iOS can take advantage of the new behavior of
test ads, which serves production-looking ads without charging advertisers. With
this change, you can safely test the clickthrough behavior of your ads without
your account getting flagged for invalid activity.
Banner, interstitial, and rewarded test ads now show a "Test
Ad" label in the top-middle of the ad to give you a visual indicator
that the ad returned is actually a test ad.
Sample 300x250 Banner ad
For native advanced test ads, the headline asset has the text
"Test Ad" prepended.
Sample native content ad.
Test ads with Mediation
When using mediation, ads shown
from third-party ad networks won't display the test ad label.
Only Google ads show the test ad label. You are responsible for ensuring that
your testing of third-party ad networks is compliant with their stated policies.
See each mediation network's respective mediation guide
for more information on how to enable test ads on those networks.
See the testing guide (Android | iOS) for more
information on how to enable test ads in the Google Mobile Ads SDK. If you have
any questions, contact us on the developer forum.
Example of ad appearing outside of "safe area" on iPhone X
With the launch of the iPhone X, app developers now need to plan for new design
considerations as the rounded corners, notch, and home screen indicator on the
extended screen can obscure content and lead to poor ad experiences for users
when ads are placed in these areas.
That's why we've put together a guide to help
you adapt your ad strategy for iPhone X. This includes guidance for how you can
shift placement of banner or native ads to designated "safe areas" for this new
device.
We've also updated our policies
to indicate that ads must not be placed where objects may interfere with the
user's typical interaction with the ad or app, such as under the home screen
indicator on the iPhone X.
Please review these policy updates and our suggested implementation guide to
ensure you're compliant by November 20th.
If you have any questions, visit the AdMob Help
Center or contact your Google account team.
Enabling video demand for a Native Express ad unit is easy. Just open the ad unit's settings in the AdMob console, and look for the Ad type checkboxes at the top of the editor:
Check the checkbox marked "Video app install," and save the change. In a short while, your ad unit will start serving video creatives alongside the other two formats, with no code changes to your app required. That means you can update your existing apps to display this new format without redeploying to the Play Store or App Store.
An important thing to note is that video creatives are only available for ad units using the Large template size. The video player needs a certain amount of space, and the Large template ensures that it's available.
Customizing the experience
While there's no mobile code required to take advantage of Native Express Video, AdMob has introduced some new features to the API that allow publishers to customize the user experience. In particular, a new video options class (VideoOptions on Android, and GADVideoOptions on iOS) gives publishers a way to influence how the ads behave.
For example, the following code will cause video ads appearing in an Android NativeExpressAdView to begin playing with their audio on:
App publishers can retrieve information about the video assets in their ads through the use of a video controller object (VideoController on Android, GADVideoController on iOS). The ad view classes for native express have been updated to include video controller properties that apps can grab and query for info like whether a video is present in the ad, and what its aspect ratio is. Even if the ad doesn't contain an video asset (or no ad has been loaded at all), you'll always get a valid reference to the ad view's video controller.
For example, here's a Swift snippet that shows how to check if an ad that just loaded contains a video asset:
func nativeExpressAdViewDidReceiveAd(_ nativeExpressAdView: GADNativeExpressAdView)
{
if nativeExpressAdView.videoController.hasVideoContent() {
print("Received an ad with a video asset.")
} else {
print("Received an ad without a video asset.")
}
}
More Info
Native Express is designed to make implementing native ads easy, but if you have questions about how to get up and running or how you can best put it to use in your apps, stop by our support forum. The Mobile Ads Garage recently released an episode covering Native Express Video as well, with feature details and screencasts for iOS and Android:
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.
Native Express ads work well in lists of content for two reasons. First, impressions are not counted until the ad is on screen, which enables you to preload the ads ahead of time. Preloading can help with optimizing scroll performance by making sure the ad is ready to be displayed when the user scrolls through the list. Second, you have more control over the styling of the ads, allowing you to create presentations that fit naturally with your content.
You can check out these sample apps by downloading them from our iOS and Android GitHub repos, and you can see them being coded in the Mobile Ads Garage YouTube series. Episode 11 walks you through the implementation for adding native ads into an Android RecyclerView. Episode 12, which will cover the implementation of native ads in an iOS UITableView, is due out next week.
If you have any questions or feedback regarding our SDK, feel free to contact us through our forum.