In July 2020, Google Play announced the new safety section, a developer-provided disclosure of apps' data collection, sharing, and security practices. We are preparing documentation about our product behavior for publication and will update this site with more information in the coming weeks.

Release Notes

Version Release Date Notes
20.4.0 2021‑09‑22
20.3.0 2021‑08‑23
20.2.0 2021‑06‑08
  • Added ad inspector (Beta) support for Google Ad Manager publishers.
20.1.0 2021‑04‑29
20.0.0 2021‑04‑05
  • Breaking changes:
    • Removed legacy Interstitial API.
    • Removed legacy RewardedVideoAd API.
    • Removed classes prefixed with Publisher (e.g.: PublisherAdView).
    • Removed CustomRenderedAd.
    • Removed InstreamAd.
    • Removed SearchAdRequest.
    • Removed AdListener.onAdLeftApplication().
    • Removed NativeAppInstallAd, NativeContentAd, and UnifiedNativeAd. There is now one native ad format named NativeAd.
    • RewardedAd is now an abstract class. Use the RewardedAd.load() static method to load a rewarded ad.
  • Added ad inspector (Beta).
  • Deprecated AdSize.SMART_BANNER in favor of adaptive banner ads.
  • Added explicit nullability annotations on all public APIs.
19.8.0 2021‑03‑15
  • Added a dependency on the User Messaging Platform SDK.
  • Added the onAdImpression() callback to FullScreenContentCallback.
  • Deprecated the InstreamAd format.
  • Mediation Adapters:
    • Deprecated MediationBannerAdapter, MediationInterstitialAdapter, and MediationNativeAdapter. New adapters should implement the Adapter class to load these formats.
    • Bidding adapters can now implement distinct load methods in the Adapter class for RTB-specific formats.
19.7.0 2021‑01‑20
  • Major changes to:
    • InterstitialAd
    • RewardedAd
    • NativeAd
    • AppOpenAd
  • Deprecated CustomRenderedAd.
  • Classes and packages with the prefix Publisher have been deprecated and replaced with the prefix AdManager.
  • Last minor release before version 20.0.0. All APIs marked as deprecated in this and prior releases will be removed in version 20.0.0. See version 20.0.0 migration guide for more details.
19.6.0 2020‑12‑04
  • Deprecated the onAdLeftApplication() AdListener method.
  • Fixed a bug where users on Android 11 devices are asked to select a browser when clicking an ad.
19.5.0 2020‑10‑20
  • Banner Ads: The onAdImpression() AdListener method is now called for banner ads.
  • Added the setCustomHttpMillis() method to customize the timeout for HTTPS calls made by the Google Mobile Ads SDK.
19.4.0 2020‑09‑10
  • Added support for Android 11 devices for apps targeting API 30.
  • App Open Ads: Changed the AppOpenAd format to operate more like a full screen format than a banner view. Added getResponseInfo() and show() methods to AppOpenAd. Deprecated AppOpenAdView and AppOpenAdPresentationCallback classes.
  • Mediation: Mediation status reporting is now available. Use ResponseInfo.getAdapterResponses() to get response information for each ad network that participated in an ad request.
  • Legacy Rewarded Ads: Deprecated RewardedVideoAd.
  • Fixed a bug where MobileAds.initialize() only calls back completion handler once. Every call to MobileAds.initialize() now invokes the completion callback.
19.3.0 2020‑07‑20
  • Added getDomain() and getCause() methods to AdError.
  • Added new load failure callbacks to all ad formats that return a LoadAdError. E.g., onAdFailedToLoad(LoadAdError).
  • Deprecated load failure callbacks that return an int. E.g., onAdFailedToLoad(int).
  • Rewarded Ads: Added onRewardedAdFailedToShow(AdError) and deprecated onRewardedAdFailedToShow(int).
  • Rewarded Mediation: Added the MEDIATION_SHOW_ERROR presentation error code. All presentation errors related to mediated ads now return MEDIATION_SHOW_ERROR for AdError.getCode() and a NonNull AdError.getCause() representing the underlying mediation error.
19.2.0 2020‑06‑18
  • Added the RewardedInterstitialAd format. This feature is currently in private beta. Reach out to your account manager to request access.
  • Native Ads: Added a Native Validator UI on test requests to help you catch and fix native policy violations.
  • Added the MobileAds.disableMediationAdapterInitialization() method. Call this method prior to initializing the Google Mobile Ads SDK to disable mediation adapter initialization.
19.1.0 2020‑04‑16
19.0.1 2020‑03‑18
  • Native Ads: Fixed memory leak that occurred when using NativeCustomTemplateAd.
19.0.0 2020‑03‑02
  • Added setNeighboringContentUrls() and getNeighboringContentUrls() to AdRequest.
  • Added the ResponseInfo class which provides information about a loaded ad.
  • For all ad formats, deprecated getMediationAdapterClassName() in favor of getResponseInfo().
  • Native Ads: Added getDuration() and getCurrentTime() methods to MediaContent.
  • Native Mediation: Added getDuration() and getCurrentTime() methods to UnifiedNativeAdMapper for adapters to implement.
  • Deprecated AdRequest.Builder.addTestDevice(). Use RequestConfiguration.Builder.setTestDeviceIds() instead.
18.3.0 2019‑11‑05
  • Added APIs for the InstreamAd ad format. This feature is currently in private beta. Reach out to your account manager to request access.
  • Adaptive Banner: Changed adaptive banner creation methods in the AdSize class. For example, renamed AdSize.getCurrentOrientationBannerAdSizeWithWidth() to AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize().
  • Mediation: The Google Mobile Ads SDK now catches exceptions thrown by mediation adapters.
  • Rewarded Mediation: Fixed a bug where if multiple mediated rewarded ads are cached, only one would show.
  • Added the setTestDeviceIds() method to enable setting test devices once for all ad requests.
18.2.0 2019‑08‑29
  • Added APIs for the AppOpenAd format. This feature is currently in private beta. Reach out to your account manager to request access.
18.1.1 2019‑07‑23
18.1.0 2019‑07‑09
18.0.0 2019‑06‑17
  • Migration from Android Support Libraries to Jetpack (AndroidX) Libraries. Refer to the Google Play services release notes for more information.
  • To avoid a crash that occurs on first launch after app install from the play store, this release requires publishers to declare additional dependencies in their build.gradle:
    com.google.android.gms:play-services-measurement:17.0.0
    com.google.android.gms:play-services-measurement-sdk:17.0.0
17.2.1 2019‑05‑21
  • Fix for ANR originating at android.media.AudioManager.getStreamVolume.
17.2.0 2019‑03‑11
  • Rewarded Video: Added a new set of rewarded APIs (see the rewarded package) that enable you to load multiple rewarded ads concurrently.
  • Mediation: Added a new set of mediation adapter APIs that support initialization. Adapters implementing the new API implement the Adapter class.
  • Publishers using firebase-analytics along with version 17.2.0 of any of the ads library (e.g., com.google.android.gms:play-services-ads:17.2.0) must use com.google.firebase:firebase-analytics:16.3.0.
17.1.3 2019‑01‑31
  • Publishers using firebase-analytics along with version 17.1.3 of any of the ads library (e.g., com.google.android.gms:play-services-ads:17.1.3) must use com.google.firebase:firebase-analytics:16.3.0.
17.1.2 2018‑12‑03
  • Publishers using firebase-analytics along with version 17.1.2 of any of the ads library (e.g., com.google.android.gms:play-services-ads:17.1.2) must use com.google.firebase:firebase-analytics:16.0.6.
17.1.1 2018‑11‑12
  • Fixed a bug where certain combinations of play-services-ads & firebase-analytics (e.g., ads:17.1.0 & analytics:16.0.5) resulted in a duplicate entry compiler error. Publishers using firebase-analytics along with version 17.1.1 of any of the ads library (e.g., com.google.android.gms:play-services-ads:17.1.1) must use com.google.firebase:firebase-analytics:16.0.5.
17.1.0 2018‑11‑02
17.0.0 2018‑10‑05
  • Google AdMob publishers are required to specify a <meta-data> tag with key com.google.android.gms.ads.APPLICATION_ID in their AndroidManifest.xml. Refer to the Get Started guide for more details.
  • Native ads: NativeAppInstallAd, NativeContentAd, and associated APIs are deprecated in favor of UnifiedNativeAd. Refer to Native Ads Advanced Unified for further instructions on using the new APIs.
  • Native ads: Added the "Mute this Ad" feature.
  • Native ads: The benign warning log: "UnconfirmedClickListener must not be null while ClickConfirmingView is set." has been removed.
  • Rewarded Ads: Added the setAdMetadataListener method on RewardedVideoAd to listen for ad metadata changes.
  • Rewarded ads: Calling destroy() will null out the listener.
  • Deprecated the following methods on AdRequest.Builder.
  • Fixed a bug where onRewardedVideoCompleted() wasn't firing on emulators.
16.0.0 2018‑10‑02
  • No ads changes. Refer to Google play services release notes for more information.
15.0.0 2018‑04‑12
  • MRAID v3 beta version.
  • Native ads: Added the Unified Native Ad API. This combines NativeAppInstallAds and NativeContentAds into one new type: UnifiedNativeAd.
  • Note: When using native ads, there is a benign warning that shows up in the logs when the native ad is clicked: "UnconfirmedClickListener must not be null while ClickConfirmingView is set." This warning can be ignored, and it will be removed in the next release.
12.0.1 2018‑03‑28
  • No ads changes. See the Google play services release notes for more details.
12.0.0 2018‑03‑20
  • Rewarded video: Added the onRewardedVideoCompleted() callback method to RewardedVideoAdListener.
  • Native mediation: Added the trackViews() method to NativeAdMapper, giving adapters access to View objects corresponding to individual native ad assets. Deprecated trackView() in favor of trackViews().
11.8.0 2017‑12‑18
  • Bug fixes and general improvements.
11.6.0 2017‑11‑07
  • Added the NativeAdViewHolder class and related methods in NativeAppInstallAd and NativeContentAd.
  • Deprecated AdLoader.getMediationAdapterClassName (publishers should instead use the methods of the same name in NativeAppInstallAd and NativeContentAd).
  • Test ads now show a label on top of the ad. See the testing guide for more details.
11.4.0 2017‑09‑19
  • Added getMediationAdapterClassName() methods to the NativeAppInstallAd and NativeContentAd classes. The method of the same name in AdLoader will be deprecated.
  • Added an onVideoEnd() method to the MediationNativeListener class, hasVideoContent(), setHasVideoContent(), and setMediaView() methods to the NativeAdMapper class, and getAdVolume() and isAdMuted() methods to the NativeMediationAdRequest class to support native video mediation.
  • Removed the SearchAdRequest class.
11.2.2 2017‑09‑05
  • Added a new loadAd() method that takes in a PublisherAdRequest object to the RewardedVideoAd class.
11.2.0 2017‑08‑14
  • Added the loadAds() method to the AdLoader class, which allows apps to load multiple unique ads in a single request.
  • When you upgrade your app to version 11.2.0 or higher of the Google Mobile Ads SDK, your app's build.gradle must also be updated to specify a compileSdkVersion of at least 26 (Android O). This does not change the way your app runs. You will not be required to update targetSdkVersion.
  • Beginning with version 11.2.0, the Google Mobile Ads SDK is available via Google's Maven repository. For more information, see the Google Play services release notes.
11.0.0 2017‑06‑07
  • Added the onAdClicked() and onAdImpression() methods to the AdListener class. These methods are only invoked for native app install and native content ads.
  • Removed the getInAppPurchaseListener() and setInAppPurchaseListener() methods from the AdView, InterstitialAd, and NativeExpressAdView classes. Also removed related in-app purchase classes.
  • Added the OnVideoMute(), OnVideoPause(), OnVideoPlay() and OnVideoStart() methods to the VideoController.VideoLifecycleCallbacks class.
  • Added the ability to enable immersive mode on full-screen ads by adding the setImmersiveMode() method to the PublisherInterstitialAd and RewardedVideoAd classes.
  • Added the OnPublisherAdViewLoadedListener interface, PublisherAdViewOptions class, and PublisherAdViewOptions.Builder class for use with AdLoader for native-plus-banner requests.
  • Added the optional OnImmersiveModeUpdatedListener interface that mediation adapters can implement to be informed of immersive mode updates.
  • Added the getMediationAdapterClassName() method to the RewardedVideoAd class.
  • Added keep rules to automatically preserve mediation adapter class names when using ProGuard.
10.2.0 2017‑2‑15
  • Google Play services 10.2.x is the first release that no longer includes full support for Android version 2.3.x (Gingerbread). Apps developed using SDK release 10.2.x and later require a minimum Android API level of 14 and cannot be installed on devices running an API level below 14. To learn more about your options, including building multiple APKs to extend your app's support for Android Gingerbread, see the Android Developers Blog.
  • Added support for video assets for Native Advanced content and custom template ads.
  • Added the getVideoController(), setVideoOptions(), and getVideoOptions() methods to the PublisherAdView class.
  • Added the AdChoicesView class.
  • Added the getAdChoicesContent() and setAdChoicesContent() methods to the NativeAdMapper class.
  • Added the InitializableMediationRewardedVideoAdAdapter interface for rewarded video mediation adapters that want to opt in to early initialization before an ad request is made.
  • Added support for in-app preview and troubleshooting in Google Ad Manager.
10.0.1 2016‑11‑21
  • Bug fixes and general improvements.
9.8.0 2016‑10‑24
  • MobileAds.Initialize(Context) has been un-deprecated. Google Ad Manager publishers should call this method when initializing their apps. AdMob publishers should still use MobileAds.Initialize(Context, String) and pass their application code.
9.6.0 2016‑09‑22
  • Added the MediaView class for Native Ads Advanced video ads.
  • Added an openDebugMenu() method to the MobileAds class for creative preview and troubleshooting of Ad Manager ad units.
  • Added support for rewarded video custom events.
9.4.0 2016‑08‑01
  • Bug fixes and general improvements.
9.2.0 2016‑06‑27
  • Added the setAdChoicesPlacement() method to the NativeAdOptions.Builder class, which app publishers can now use to specify the location of their AdChoices in native ads.
  • Video ad playback has been improved with several bug fixes.
9.0.1 2016‑05‑26
  • Resolves a ProGuard issue introduced in 9.0.0. Publishers no longer need a keep option for com.google.android.gms.common.util.DynamiteApi.
9.0.0 2016‑05‑18
8.4.0 2015‑12‑18
  • Added a public method, MobileAds.setAppVolume(), to inform the Mobile Ads SDK of an app's current volume level.
  • Implemented bug fixes and improvements.
8.3.0 2015‑11‑6
  • Added support for rewarded video ads.
  • Added an isLoading() method to PublisherAdView and PublisherInterstitialAd to check if an ad request is in progress.
  • Added the setIsDesignedForFamilies() method to AdRequest.Builder and PublisherAdRequest.Builder.
  • Added a destroy() method to NativeAdView.
8.1.0 2015‑09‑24 Various bug fixes.
7.8.0 2015‑08‑13
  • MRAID v2 official release version.
  • Added an isLoading() method to AdLoader, AdView, and InterstitialAd to check if an ad request is in progress.
  • Deprecated PublisherAdRequest.Builder#setManualImpressionsEnabled(). Use PublisherAdView#setManualImpressionsEnabled() instead.
7.5.0 2015‑05‑28
  • Added support for app install and content native ad formats across AdMob and Ad Manager.
  • Added support for custom native ad formats, available for Ad Manager reservations.
7.3.0 2015‑04‑28 Various bug fixes.
7.0.0 2015‑03‑19
  • Added addCustomTargeting() and addCategoryExclusion() methods to PublisherAdRequest.Builder.
  • Fixed an issue causing PublisherAdView.recordManualImpression() to record multiple impressions in Ad Manager when using manual impression counting.
  • Fixed an issue causing ads to render improperly when using the android:largestWidthLimitDp attribute on the <supports-screens> tag.
  • Added the setRequestAgent() method to AdRequest.Builder and PublisherAdRequest.Builder. This method should be used to denote ad request origins by third parties that mediate to the Mobile Ads SDK.
6.5.87 2014‑12‑08
  • Introduced split JAR architecture--Android Studio developers can now just include the ads portion of Google Play services by depending on com.google.android.gms:play‑services‑ads:6.+.
    Note: Apps that create banner ads in XML must still reference the entire library com.google.android.gms:play‑services:6.+.
  • Various bug fixes.
6.1 2014‑10‑08
  • Added a getLocation() method to com.google.android.gms.ads.MediationAdRequest.
  • Added a content description to the interstitial close button for accessibility.
  • Removed logging of "Google Play resources not found" when the library project is linked correctly.
  • Added getMediationAdapterClassName() to AdView to get the class name of the ad network mediation adapter currently showing an ad.
5.0 2014‑06‑25
  • Added new APIs to implement Custom Events.
  • Added default purchase flow for In-App Purchase, using the Google Play Billing API.
4.4 2014‑05‑07
  • Added new Mediation Adapter APIs.
  • Added new 320x100 LARGE_BANNER ad format for both phones and tablets.
  • Added new interstitial format for In-App Purchase. Set an InAppPurchaseListener on InterstitialAd to listen for in-app purchase events.
  • Bug fix for SecurityException crash due to reading gservices without permission.
4.3 2014‑03‑17
  • InterstitialAd now functions if passed an application context.
  • Added the setContentUrl() method to PublisherAdRequest.Builder.
  • Fix for exception when Service not registered.
4.2 2014‑02‑03 Various bug fixes.
4.1 2014‑01‑16
  • Added support for Ad Manager and Search Ads for Mobile Apps.
  • AdRequest.Builder now has a setLocation() method.
  • Fixed a crash that occurred if an interstitial ad was requested but AdActivity wasn't specified in the manifest.
4.0 2013‑10‑31
  • Google Mobile Ads APIs are now part of Google Play services.
  • Future updates to the Google Mobile Ads APIs get automatically pushed to devices through Google Play services.
  • Ad Manager and Search Ads for Mobile Apps not yet supported.