Release notes
Stay organized with collections
Save and categorize content based on your preferences.
Page Summary
Recent versions include minor updates and bug fixes, with some adjustments to dependencies and nullable annotations.
Key feature additions in recent years include ad preloading APIs, support for placement IDs across formats, and updates to user messaging platform dependencies.
Significant breaking changes in major versions include increased minimum Android API levels, removal of deprecated APIs and ad formats, and changes to initialization and ad loading behaviors.
Mediation adapter functionality has been updated with new methods for ad destruction notification and loading native ad mappers.
Improvements to ad inspection tools, ad load failure logging, and monetization features for personalized ads have been implemented.
Version
Release Date
Notes
25.5.0
2026‑09‑17
Added onInitializationFailed() to InitializationCompleteCallback. Mediation adapters now report third-party SDK initialization errors to the Google Mobile Ads SDK with the error code, error domain, and error message.
When using mediation with custom event ad sources, ResponseInfo.getAdapterClassName() now returns your custom event class name instead of com.google.ads.mediation.customevent.CustomEventAdapter.
25.4.0
2026‑06‑17
Bug fixes and performance improvements.
25.3.0
2026‑05‑21
Added the setAgeRestrictedTreatment() method in RequestConfiguration.Builder and deprecated setTagForChildDirectedTreatment() and setTagForUnderAgeOfConsent(). Use the new method to configure age-restricted treatment for child and teen users.
25.2.0
2026‑04‑13
Bug fixes and performance improvements.
25.1.0
2026‑03‑16
Fixed a bug in Ad Inspector that could cause an error when requesting an out of context test ad with an empty content URL.
25.0.0
2026‑02‑17
Breaking changes:
Removed the VersionInfo class in the
com.google.android.gms.ads.mediation package.
Removed the deprecated getConfiguration() method in the
RtbSignalData
class.
Removed the deprecated methods onFailure(String) and
onAdFailedToShow(String) in the following classes:
Removed the NativeAdViewHolder class from the
com.google.android.gms.ads.nativead package.
Removed MIN_WIDTH_RATIO and
MIN_HEIGHT_RATIO from
MediationUtils
to support more flexible ad size matching thresholds for mediation
ad sizes.
Updated User Messaging Platform SDK dependency to version 4.0.0.
Added support for large anchored adaptive banners. Large anchored
adaptive banners are designed to increase engagement and revenue.
Request large anchored adaptive banners using the following methods in the
AdSize class:
Fixed missing translations for SDK resources in versions 24.6.0 and
24.7.0.
Deprecated NativeAdViewHolder. Use NativeAdView
to render native ads instead.
Deprecated the AdPreloader.getConfigurations() and AdPreloader.getConfiguration(preloadId)
methods. There is no replacement for these methods.
24.7.0
2025‑10‑09
Corrected a missing nullable annotation on the return type for
NativeCustomFormatAd.getDisplayOpenMeasurement().
Functionality is unchanged, as the method's ability to return null was
already expected.
Downgraded androidx.webkit:webkit dependency from 1.14.0
to 1.12.1 to maintain compatibility with Android Gradle plugin 7.3.1.
24.6.0
2025‑09‑08
Native mediation adapters can now implement NativeAdMapper.destroy()
to get notified when a native ad is destroyed.
24.5.0
2025‑07‑24
Publishers with access to the feature 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 and
DynamicHeightSearchAdRequest classes.
Updated User Messaging Platform SDK dependency to version 3.1.0.
Added MediationRewardedAdCallback.onUserEarnedReward()
and deprecated
MediationRewardedAdCallback.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 (Legacy) support.
Native Mediation adapters: Deprecated loadNativeAd
and loadRtbNativeAd() in favor of loadNativeAdMapper() and loadRtbNativeAdMapper().
Adapters should migrate to using these new load methods and related
objects.
Removed the deprecated MobileAds.enableSameAppKey() API
and updated the alternative method MobileAds.putPublisherFirstPartyIdEnabled()
to return a boolean about whether the control persistence is successful or
not.
Native Ads:
Removed AdLoader.forUnifiedNativeAd(). Use
AdLoader.forNativeAd() instead.
Removed AdLoader.forCustomTemplateAd(). Use
AdLoader.forCustomFormatAd() instead.
Removed AdFormat.UNKNOWN with no replacement. Apps using
QueryInfo.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 that
AdManagerAdRequest.Builder
no longer inherits from AdRequest.Builder.