Version
Release Date
Notes
24.5.0
2025‑07‑24
- Allowlisted publishers now have placement ID support for all ad formats.
- Fixed a crash with the error message
Fatal Exception: java.util.ConcurrentModificationException
.
24.4.0
2025‑06‑09
- Added several new APIs for ad preloading and deprecated existing ones. Ad preloading remains a limited alpha feature.
24.3.0
2025‑05‑19
- Updated User Messaging Platform SDK dependency to version 3.2.0.
24.2.0
2025‑04‑07
- Bug fixes and performance improvements.
24.1.0
2025‑03‑12
- Minimum Kotlin version is now 2.1.0.
- Bug fixes and performance improvements.
- The
play-services-ads-lite
is moving to a reduced release cadence, and is not distributed with this release. For more information, see the Lite SDK documentation.
24.0.0
2025‑02‑24
- Breaking changes:
- Increased the minimum Android API level to 23.
- Removed all APIs related to the interscroller ad format.
- Removed deprecated
AppOpenAd
orientation APIs. - Removed
SearchAdView
andDynamicHeightSearchAdRequest
classes.
- Updated User Messaging Platform SDK dependency to version 3.1.0.
- Optimize initialization and ad loading is now in general availability, and is enabled by default.
- Added
MediationRewardedAdCallback.onUserEarnedReward()
and deprecatedMediationRewardedAdCallback.onUserEarnedReward(RewardItem)
. Mediation adapters should update to use the new method. - Removed the
android.adservices.AD_SERVICES_CONFIG
property tag from the SDK’s manifest file to prevent merge conflicts for apps that Configure API-specific Ad Services .
23.6.0
2024‑12‑03
- Deprecated all APIs related to the interscroller ad format. For
example,
AdSize.getCurrentOrientationInterscrollerAdSize()
.
23.5.0
2024‑10‑29
- Updated ad load failure logcat messages introduced in 23.4.0 release from error to info level.
- Improved monetization of personalized ads in Custom Tabs for WebView API for ads.
23.4.0
2024‑09‑30
- Ad load failures now invoke a logcat message that says
ad failed to load
in the failure's stack trace. The stack trace logs this message as an error, but doesn't imply a crash. Consult Debug common error logging messages to interpret common ad loading failures. If you see a recurring error related to ad serving that’s not documented, share the stack trace with Google Mobile Ads SDK support . - Added
addCustomTargeting()
methods toAdRequest
.
23.3.0
2024‑08‑12
- Updated User Messaging Platform SDK dependency to version 3.0.0.
23.2.0
2024‑06‑27
- Added
AdView.isCollapsible()
to indicate whether the last loaded banner is collapsible.
23.1.0
2024‑05‑09
- Requires a minimum
compileSdkVersion
of 34. - Native Mediation adapters
: Deprecated
loadNativeAd
andloadRtbNativeAd()
in favor ofloadNativeAdMapper()
andloadRtbNativeAdMapper()
. Adapters should migrate to using these new load methods and related objects.
23.0.0
2024‑03‑07
- Breaking changes:
- Increased the minimum Android API level to 21.
- To continue collecting user metrics in AdMob , link your AdMob app to Firebase and integrate the Google Analytics for Firebase SDK into your app.
- Removed the deprecated
MobileAds.enableSameAppKey()
API and updated the alternative methodMobileAds.putPublisherFirstPartyIdEnabled()
to return a boolean about whether the control persistence is successful or not. -
Native Ads
:- Removed
AdLoader.forUnifiedNativeAd()
. UseAdLoader.forNativeAd()
instead. - Removed
AdLoader.forCustomTemplateAd()
. UseAdLoader.forCustomFormatAd()
instead.
- Removed
- Removed
AdFormat.UNKNOWN
with no replacement. Apps usingQueryInfo.generate()
must pass an ad format. -
AdManagerAdRequest.Builder
methods inherited from its parent can now be chained together to build an object from a single call. This required a change in the inheritance structure such thatAdManagerAdRequest.Builder
no longer inherits fromAdRequest.Builder
.
- Adds MobileAds.registerCustomTabsSession() to improve monetization for ads in Custom Tabs. See Optimize Custom Tabs for more information.
- Updated User Messaging Platform SDK dependency to version 2.2.0.
22.6.0
2023‑12‑06
- Deprecated
MobileAds.setSameAppKeyEnabled()
and renamed the method toMobileAds.putPublisherFirstPartyIdEnabled()
. - Deprecated
AdFormat.UNKNOWN
with no replacement. Apps usingQueryInfo.generate()
must pass an ad format.
22.5.0
2023‑10‑30
- Updated User Messaging Platform SDK dependency to version 2.1.0.
- Added the
setPublisherPrivacyPersonalizationState()
method for the Publisher Privacy Treatment API (Beta) .
22.4.0
2023‑09‑13
- Requires a minimum
compileSdkVersion
of33
. - Ad inspector: Added SDK support for requesting and showing ads requested through Ad Inspector UI.
- Added a new
QueryInfo.generate()
method that takes an ad unit ID. - Enables initial testing of the Attribution Reporting Beta and Topics Beta privacy-preserving APIs . See the AdMob Privacy Sandbox on Android guide for more information.
22.3.0
2023‑08‑22
- Added support for creating adaptive sizes using
AdSize.FULL_WIDTH
as the width. Previously, ad sizes created usingAdSize.FULL_WIDTH
would be treated asAdSize.SMART_BANNER
.
22.2.0
2023‑07‑05
- Custom events:
- Deprecated
AdRequest.Builder.addCustomEventExtrasBundle()
. Extend Adapter and interact with the extra parameters throughAdRequest.Builder.addNetworkExtrasBundle()
instead. - Deprecated
AdRequest.getCustomEventExtrasBundle()
. Extend Adapter and interact with the extra parameters throughAdRequest.getNetworkExtrasBundle()
instead.
- Deprecated
22.1.0
2023‑05‑18
- Ad inspector: Enabled ability to trigger ad requests from the ad inspector UI on devices that don't have Google Play services.
22.0.0
2023‑03‑29
- Breaking changes:
- Removed
NativeCustomFormatAd.getVideoController()
andNativeCustomFormatAd.getVideoMediaView()
in favor ofNativeCustomFormatAd.getMediaContent()
. - Removed
MobileAds.getVersionString()
in favor ofMobileAds.getVersion()
. - Removed
AdRequest.Builder.setAdInfo()
in favor ofAdRequest.Builder.setAdString()
. -
AdManager.Builder.setAdString()
now returns anAdRequest.Builder
type. - Removed
MediationRewardedVideoAdAdapter
and associated APIs in favor ofAdapter
.
- Removed
- Added
AdRequest.getRequestAgent()
. - Mediation:
The return value for
Adapter.getVersionInfo()
andAdapter.getSDKVersionInfo()
changed from typecom.google.android.gms.ads.mediation.VersionInfo
tocom.google.android.gms.ads.VersionInfo
. We recommend adapters return the new type sincecom.google.android.gms.ads.mediation.VersionInfo
is deprecated.
21.5.0
2023‑01‑31
- App Open Ads:
Deprecated
AppOpenAd.load()
methods that accept an orientation input parameter and added new methods that don't take an orientation input. The new methods determine the orientation at request time, matching the behavior of other full-screen formats. - Mediation: Added mediation support for app open ads.
- Removed the
RECEIVE_BOOT_COMPLETED
permission from theandroidx.work:work-runtime
dependency. If you're using Gradle versions earlier than 7.2.0 and require permission for your app, you may need to declare permission explicitly in your Android manifest.
21.4.0
2022‑12‑14
- The Ad Manager App ID is now required for all Ad Manager apps and
requires the
ca-app-pub-################~##########
format. See Configure your app for more details. - Ad inspector: Extend SDK support for showing banner ads and native ads requested through the ad inspector UI.
- Added support for Publisher first-party ID (formerly known as same app key) to help you deliver more relevant and personalized ads by using data collected from your apps.
- Official release version for
QueryInfo
generation.
21.3.0
2022‑10‑10
- Ad inspector: Added SDK support for requesting and showing ads requested through the ad inspector UI.
- Native Ads:
- Added
getMediaContent()
toMediaView
.
- Added
- Custom Native Ads:
- Added
getMediaContent()
toNativeCustomFormatAd
. - Deprecated
getVideoMediaView()
. Create your ownMediaView
and useNativeCustomFormatAd. getMediaContent()
instead. - Deprecated
getVideoController()
. UseNativeCustomFormatAd.getMediaContent(). getVideoController()
instead.
- Added
21.2.0
2022‑09‑06
- Ad inspector: Added SDK support for exporting ad request logs through Android Sharesheet.
21.1.0
2022‑07‑14
- Added support for ad monetization within
WebView
. See Integrate the WebView API for ads for more details. - Added
getResponseExtras()
toResponseInfo
which may return extra information about the ad response.
21.0.0
2022‑05‑25
- Breaking changes:
- Google Mobile Ads SDK now requires all apps to be on a minimum Android API level 19 to run.
- Added
@NonNull
annotations in every method that previously did not explicitly define nullability. - Removed
AdRequest.Builder.addNetworkExtras()
method. UseAdRequest.Builder.addNetworkExtrasBundle()
instead. - Removed the following location methods:
-
setLocation()
onAdRequest.Builder
-
getLocation()
onAdRequest
-
getLocation()
onMediationAdConfiguration
-
- Added manifest flags to optimize initialization and ad loading, see Optimize initialization and ad loading guide for more details.
- Deprecated
MobileAds.getVersionString()
. UseMobileAds.getVersion()
instead. - Added the
getLoadedAdapterResponseInfo()
method inResponseInfo
. - Added the following methods in
AdapterResponseInfo
:-
getAdSourceName()
-
getAdSourceId()
-
getAdSourceInstanceName()
-
getAdSourceInstanceId()
-
- Added support for custom events in ad inspector.
20.6.0
2022‑02‑22
- Deprecated all the custom event interfaces
. Use the
Adapter
class andMediationAdLoadCallback
interface instead. - Added support for the SharedPreferences
gad_has_consent_for_cookies
. Google Mobile Ads SDK will enable limited ads (LTD) when thegad_has_consent_for_cookies
preference is set to 0. See setting consent for cookies for more details. - Google Mobile Ads SDK will disable transmission of the Android
advertising identifier (AAID) when the
RequestConfiguration.Builder.setTagForChildDirectedTreatment()
is called withTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
(see child-directed setting ), orRequestConfiguration.Builder.setTagForUnderAgeOfConsent()
is called withTAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
(see users under the age of consent setting ).
20.5.0
2021‑11‑18
- Added support for Android 12 devices for apps targeting API 31.
- Added support for app set ID for use cases such as reporting and fraud prevention.
20.4.0
2021‑09‑22
- Starting from version 20.4.0, Google Mobile Ads SDK includes the
com.google.android.gms.permission.AD_ID
permission in the SDK's manifest that is automatically merged into the app manifest by Android build tools. To learn more about theAD_ID
permission declaration, including how to disable it, refer to this Play Console Help article . - Added the
onAdClicked()
callback toFullScreenContentCallback
. - Enabled the
onAdClicked()
callback in theAdListener
class for native ad format.
20.3.0
2021‑08‑23
- Deprecated the
AdRequest.Builder.addNetworkExtras()
method. UseAdRequest.Builder.addNetworkExtrasBundle()
instead. - Native ads
:
AdLoader.Builder.forCustomFormatAd()
now accepts a nullableOnCustomClickListener
. - Mediation adapters
: Fixed nullability annotation for the
mediationExtras
parameter in all mediation adapter load calls.
20.2.0
2021‑06‑08
- Added ad inspector (Beta) support for Google Ad Manager publishers.
20.1.0
2021‑04‑29
- Adaptive Banner
: Added
AdSize.getInlineAdaptiveBannerAdSize()
to request inline adaptive banner ads with a maximum height. - Added
AdError.toString()
for easier logging.
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
, andUnifiedNativeAd
. There is now one native ad format namedNativeAd
. -
RewardedAd
is now an abstract class. Use theRewardedAd.load()
static method to load a rewarded ad.
- Removed legacy
- 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 toFullScreenContentCallback
. - Deprecated the
InstreamAd
format. - Mediation Adapters:
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 prefixAdManager
. - 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
setHttpTimeoutMillis()
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. AddedgetResponseInfo()
andshow()
methods toAppOpenAd
. DeprecatedAppOpenAdView
andAppOpenAdPresentationCallback
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 toMobileAds.initialize()
now invokes the completion callback.
19.3.0
2020‑07‑20
- Added
getDomain()
andgetCause()
methods toAdError
. - 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 deprecatedonRewardedAdFailedToShow(int)
. - Rewarded Mediation:
Added the
MEDIATION_SHOW_ERROR
presentation error code. All presentation errors related to mediated ads now returnMEDIATION_SHOW_ERROR
forAdError.getCode()
and a NonNullAdError.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 Google Mobile Ads SDK to disable mediation adapter initialization.
19.1.0
2020‑04‑16
- Deprecated
MobileAds.initialize(Context, String)
in favor ofMobileAds.initialize(Context, OnInitializationCompleteListener)
. -
AdRequest.isTestDevice()
now returnstrue
for test devices set throughMobileAds.setRequestConfiguration()
. - Fixed NullPointerException crash in
MobileAds.initialize()
that occurred on some devices on apps using the Lite SDK .
19.0.1
2020‑03‑18
- Native Ads:
Fixed memory leak that occurred when using
NativeCustomTemplateAd
.
19.0.0
2020‑03‑02
- Added support for reading consent parameters from
IAB TCF v2.0 and the IAB
us_privacy
string. - Added
setNeighboringContentUrls()
andgetNeighboringContentUrls()
toAdRequest
. - Added the
ResponseInfo
class which provides information about a loaded ad. - For all ad formats, deprecated
getMediationAdapterClassName()
in favor ofgetResponseInfo()
. - Native Ads:
Added
getDuration()
andgetCurrentTime()
methods toMediaContent
. - Native Mediation:
Added
getDuration()
andgetCurrentTime()
methods toUnifiedNativeAdMapper
for adapters to implement. - Deprecated
AdRequest.Builder.addTestDevice()
. UseRequestConfiguration.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, renamedAdSize.getCurrentOrientationBannerAdSizeWithWidth()
toAdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize()
. - Mediation : 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
- Mediation
: Adapters are now initialized when apps call
MobileAds.initialize(Context, OnInitializationCompleteListener)
. - Mediation : Adapter exceptions whose stack traces include Google Mobile Ads SDK are now caught and handled by the Google Mobile Ads SDK.
18.1.0
2019‑07‑09
- Official release for App Measurement support.
- App measurement initializes and sends data on app start by default. Added an option to delay app measurement until Google Mobile Ads SDK is explicitly called.
- Added a new initialization method,
MobileAds.initialize(Context, OnInitializationCompleteListener)
, that notifies you when Google Mobile Ads SDK and all configured mediation adapters have completed initialization. - Added
MobileAds.getInitializationStatus()
to provide initialization status of all ad networks configured for your app. - Added
MobileAds.getRequestConfiguration()
. Targeting parameters set on this configuration object are used for all ad requests. - Native ads
: Added the
NativeAdOptions.Builder.setMediaAspectRatio()
method to request a specific aspect ratio for a native ad's media asset. This option takes precedence over the now deprecatedsetImageOrientation()
method. - Native ads
: For non-video ads, the MediaView's image scale type
can now be set using
MediaView.setImageScaleType()
. - Native ads
: Added
UnifiedNativeAd.getMediaContent()
. Publishers who only load images via URLs can now get the ad's media content, supply an image to it, and callMediaView.setMediaContent()
to populate image data throughMediaView
for non-video ads. - Native ads Mediation
: Adapters can now provide aspect ratio via
UnifiedNativeAdMapper.setMediaContentAspectRatio()
. - Added dependencies on
play-services-measurement
andplay-services-measurement-sdk
. Apps no longer need to add these dependencies explicitly.
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 version17.2.0
of any of the ads library (e.g.,com.google.android.gms:play-services-ads:17.2.0
) must usecom.google.firebase:firebase-analytics:16.3.0
.
17.1.3
2019‑01‑31
- Publishers using
firebase-analytics
along with version17.1.3
of any of the ads library (e.g.,com.google.android.gms:play-services-ads:17.1.3
) must usecom.google.firebase:firebase-analytics:16.3.0
.
17.1.2
2018‑12‑03
- Publishers using
firebase-analytics
along with version17.1.2
of any of the ads library (e.g.,com.google.android.gms:play-services-ads:17.1.2
) must usecom.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 aduplicate entry
compiler error. Publishers usingfirebase-analytics
along with version17.1.1
of any of the ads library (e.g.,com.google.android.gms:play-services-ads:17.1.1
) must usecom.google.firebase:firebase-analytics:16.0.5
.
17.1.0
2018‑11‑02
- Added the
setMaxAdContentRating()
andsetTagForUnderAgeOfConsent()
methods toAdRequest.Builder
. - Added the following constants to use with
AdRequest.Builder.setMaxAdContentRating()
andAdRequest.Builder.setTagForUnderAgeOfConsent()
:-
MAX_AD_CONTENT_RATING_G
-
MAX_AD_CONTENT_RATING_PG
-
MAX_AD_CONTENT_RATING_T
-
MAX_AD_CONTENT_RATING_MA
-
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE
-
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
-
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED
-
17.0.0
2018‑10‑05
- Google AdMob publishers are required to specify a
<meta-data>
tag with keycom.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 ofUnifiedNativeAd
. 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 onRewardedVideoAd
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.
15.0.0
2018‑04‑12
- MRAID v3 beta version.
- Native ads:
Added the Unified Native Ad API. This combines
NativeAppInstallAds
andNativeContentAds
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.0
2018‑03‑20
- Rewarded video: Added the
onRewardedVideoCompleted()
callback method toRewardedVideoAdListener
. - Native mediation: Added the
trackViews()
method toNativeAdMapper
, giving adapters access toView
objects corresponding to individual native ad assets. DeprecatedtrackView()
in favor oftrackViews()
.
11.8.0
2017‑12‑18
- Bug fixes and general improvements.
11.6.0
2017‑11‑07
- Added the
NativeAdViewHolder
class and related methods inNativeAppInstallAd
andNativeContentAd
. - Deprecated
AdLoader.getMediationAdapterClassName
(publishers should instead use the methods of the same name inNativeAppInstallAd
andNativeContentAd
). - 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 theNativeAppInstallAd
andNativeContentAd
classes. The method of the same name inAdLoader
will be deprecated. - Added an
onVideoEnd()
method to theMediationNativeListener
class,hasVideoContent()
,setHasVideoContent()
, andsetMediaView()
methods to theNativeAdMapper
class, andgetAdVolume()
andisAdMuted()
methods to theNativeMediationAdRequest
class to support native video mediation. - Removed the
SearchAdRequest
class.
11.2.2
2017‑09‑05
- Added a new
loadAd()
method that takes in aPublisherAdRequest
object to theRewardedVideoAd
class.
11.2.0
2017‑08‑14
- Added the
loadAds()
method to theAdLoader
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 acompileSdkVersion
of at least26
(Android O). This does not change the way your app runs. You will not be required to updatetargetSdkVersion
. - Beginning with version 11.2.0, 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()
andonAdImpression()
methods to theAdListener
class. These methods are only invoked for native app install and native content ads. - Removed the
getInAppPurchaseListener()
andsetInAppPurchaseListener()
methods from theAdView
,InterstitialAd
, andNativeExpressAdView
classes. Also removed related in-app purchase classes. - Added the
OnVideoMute()
,OnVideoPause()
,OnVideoPlay()
andOnVideoStart()
methods to theVideoController.VideoLifecycleCallbacks
class. - Added the ability to enable immersive mode on full-screen ads by adding the
setImmersiveMode()
method to thePublisherInterstitialAd
andRewardedVideoAd
classes. - Added the
OnPublisherAdViewLoadedListener
interface,PublisherAdViewOptions
class, andPublisherAdViewOptions.Builder
class for use withAdLoader
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 theRewardedVideoAd
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()
, andgetVideoOptions()
methods to thePublisherAdView
class. - Added the
AdChoicesView
class. - Added the
getAdChoicesContent()
andsetAdChoicesContent()
methods to theNativeAdMapper
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 useMobileAds.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 theMobileAds
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 theNativeAdOptions.Builder
class, which app publishers can now use to specify the location of theirAdChoices
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 forcom.google.android.gms.common.util.DynamiteApi
.
9.0.0
2016‑05‑18
- Added auto-population of location information for apps that explicitly grant the location permission.
- Added support for Rewarded Video mediation custom events.
- Added video options for Native Express ads.
- Updated Custom Search Ads API.
- Added
setAppMuted()
method. - The
MobileAds.initialize(android.content.Context, java.lang.String)
method is no longer deprecated. - The
MobileAds.initialize(android.content.Context)
method is now deprecated. - Added the
MediationNativeListener.onAdImpression()
method for reporting impressions in mediation adapters. - For this release only
, apps that use ProGuard to post-process their application
need to add the following
keep
option to their ProGuard configuration file:-keep public @com.google.android.gms.common.util.DynamiteApi class * { *; }
8.4.0
2015‑12‑18
- Added a public method,
MobileAds.setAppVolume()
, to inform Google 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 toPublisherAdView
andPublisherInterstitialAd
to check if an ad request is in progress. - Added the
setIsDesignedForFamilies()
method toAdRequest.Builder
andPublisherAdRequest.Builder
. - Added a
destroy()
method toNativeAdView
.
8.1.0
2015‑09‑24
Various bug fixes.
7.8.0
2015‑08‑13
- MRAID v2 official release version.
- Added an
isLoading()
method toAdLoader
,AdView
, andInterstitialAd
to check if an ad request is in progress. - Deprecated
PublisherAdRequest.Builder#setManualImpressionsEnabled()
. UsePublisherAdView#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()
andaddCategoryExclusion()
methods toPublisherAdRequest.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 toAdRequest.Builder
andPublisherAdRequest.Builder
. This method should be used to denote ad request origins by third parties that mediate to Google 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 librarycom.google.android.gms: play‑services :6.+
. - Various bug fixes.
6.1
2014‑10‑08
- Added a
getLocation()
method tocom.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()
toAdView
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
onInterstitialAd
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 toPublisherAdRequest.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 asetLocation()
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.