版本
发布日期
备注
22.1.0
2023 年 5 月 18 日
广告检查器 :允许在没有 Google Play 服务的设备上从广告检查器界面触发广告请求。
22.0.0
2023 年 3 月 29 日
重大变更:
添加了 AdRequest.getRequestAgent()
。
中介 :Adapter.getVersionInfo()
和 Adapter.getSDKVersionInfo()
的返回值已从类型 com.google.android.gms.ads.mediation.VersionInfo
更改为 com.google.android.gms.ads.VersionInfo
。由于 com.google.android.gms.ads.mediation.VersionInfo
已废弃,我们建议适配器返回新类型。
21.5.0
2023 年 1 月 31 日
开屏广告 :弃用了接受屏幕方向输入参数的 AppOpenAd.load()
方法,并添加了不采用屏幕方向输入的新方法。新方法会根据请求确定屏幕方向,与其他全屏格式的行为相匹配。
中介 :添加了对开屏广告的中介支持。
从 androidx.work:work-runtime
依赖项中移除了 RECEIVE_BOOT_COMPLETED
权限。如果您使用的是 Gradle 7.2.0 之前的版本,并且需要应用获得权限,则可能需要在 Android 清单中明确声明权限。
21.4.0
2022 年 12 月 14 日
所有 Ad Manager 应用现在都必须提供 Ad Manager 应用 ID,并且需要采用 ca-app-pub-################~##########
格式。如需了解详情,请参阅配置您的应用 。
广告检查器 :扩展了对通过广告检查器界面请求横幅广告和原生广告的 SDK 支持。注意 :广告检查器界面将在日后发布此功能,要求最低 SDK 版本为 21.4.0。
添加了对同应用标识键 的支持,帮助您通过使用从应用收集的数据投放更相关的个性化广告。
用于生成“QueryInfo
”的版本的官方发布版本。
21.3.0
2022 年 10 月 10 日
广告检查器 :添加了 SDK 支持,用于请求和展示通过广告检查器界面请求的广告。注意 :广告检查器界面将在日后发布此功能,要求最低 SDK 版本为 21.3.0。
原生广告 :
自定义原生广告 :
21.2.0
2022 年 9 月 6 日
广告检查器 :添加了 SDK 支持,支持通过 Android Sharesheet 导出广告请求日志。
注意 :广告检查器界面将在日后发布此功能,要求最低 SDK 版本为 21.2.0。
21.1.0
2022 年 7 月 14 日
在 WebView
中添加了对广告创收的支持。如需了解详情,请参阅集成适用于广告的 WebView API 。
向 ResponseInfo
添加了 getResponseExtras()
,它可能会返回有关广告响应的额外信息。
Beta 版 :getResponseExtras()
API 目前为 Beta 版。在没有 SDK 版本的情况下,返回值可能会发生变化。
21.0.0
2022 年 5 月 25 日
重大变更:
Google 移动广告 SDK 现在要求所有应用支持的 Android API 级别最低必须为 19,这样才能正常运行。
在以前没有明确定义可为 null 性的每个方法中添加了 @NonNull
注解。
移除了 AdRequest.Builder.addNetworkExtras()
方法。改用 AdRequest.Builder.addNetworkExtrasBundle()
。
移除了以下地理位置方法:
AdRequest.Builder
上的 setLocation()
截至 AdRequest
的费用为getLocation()
MediationAdConfiguration
上的 getLocation()
添加了清单标记,以优化初始化和广告加载。如需了解详情,请参阅优化初始化和广告加载指南 。
弃用了 MobileAds.getVersionString()
。请改用 MobileAds.getVersion()
。
在 ResponseInfo
中添加了
getLoadedAdapterResponseInfo()
方法。
在
AdapterResponseInfo
中添加了以下方法:
getAdSourceName()
getAdSourceId()
getAdSourceInstanceName()
getAdSourceInstanceId()
Beta 版 :这些 API 目前为 Beta 版。在没有 SDK 版本的情况下,返回值可能会发生变化。
在广告检查器中新增了对自定义事件的支持。
20.6.0
2022 年 2 月 22 日
弃用了所有
自定义事件接口 。请改用 Adapter
类和
MediationAdLoadCallback
接口。
添加了对
SharedPreferences gad_has_consent_for_cookies
的支持。
当 gad_has_consent_for_cookies
偏好设置设为 0 时,Google 移动广告 SDK 将会启用
受限广告 (LTD) 。 如需了解详情,请参阅
设置 Cookie 意见征求 。
如果使用 TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE
调用 RequestConfiguration.Builder.setTagForChildDirectedTreatment()
(请参阅
面向儿童的设置 )或通过 TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE
调用 RequestConfiguration.Builder.setTagForUnderAgeOfConsent()
(请参阅
未达到同意年龄的用户 ),Google 移动广告 SDK 将禁止传输 Android 广告标识符 (AAID)。
20.5.0
2021 年 11 月 18 日
针对以 API 31 为目标平台的应用,添加了对 Android 12 设备的支持。
针对报告和欺诈防范等用例添加了对
应用组 ID
的支持。
20.4.0
2021 年 9 月 22 日
此版本和之前的所有版本都需要显式依赖于 androidx.work:work-runtime:2.7.0
,以修复使用以下堆栈轨迹在 Android S 上导致应用崩溃的 bug:
Fatal Exception: java.lang.IllegalArgumentException:
com.mycompany.myapp: Targeting S+ (version 10000 and above)
requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be
specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE
if some functionality depends on the PendingIntent being mutable,
e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:386)
at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:657)
at android.app.PendingIntent.getBroadcast(PendingIntent.java:644)
at androidx.work.impl.utils.ForceStopRunnable.getPendingIntent(ForceStopRunnable.java:174)
at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:108)
at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:86)
at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:75)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
如需修复此 bug,请将 Google 移动广告 SDK 的以下依赖项添加到模块的应用级 Gradle 文件中:
dependencies {
implementation 'com.google.android.gms:play-services-ads:20.4.0'
// For apps targeting Android 12, add WorkManager dependency.
constraints {
implementation('androidx.work:work-runtime:2.7.0') {
because '''androidx.work:work-runtime:2.1.0 pulled from
play-services-ads has a bug using PendingIntent without
FLAG_IMMUTABLE or FLAG_MUTABLE and will fail in Apps
targeting S+.'''
}
}
}
从 20.4.0 版本开始,Google 移动广告 SDK 在 SDK 的清单中添加了 com.google.android.gms.permission.AD_ID
权限,Android 构建工具会自动将该权限合并到应用清单中。如需详细了解 AD_ID
权限声明(包括如何停用),请参阅
这篇 Play 管理中心帮助文章 。
向 FullScreenContentCallback
添加了
onAdClicked()
回调。
在 AdListener
类中针对原生广告格式启用了
onAdClicked()
回调函数。
20.3.0
2021 年 8 月 23 日
20.2.0
2021 年 6 月 8 日
为 Google Ad Manager 发布商添加了广告检查器(Beta 版)支持。
20.1.0
2021 年 4 月 29 日
20.0.0
2021 年 4 月 5 日
重大变更:
移除了旧版 Interstitial
API。
移除了旧版 RewardedVideoAd
API。
移除了前缀为 Publisher
的类(例如:PublisherAdView
)。
移除了 CustomRenderedAd
。
移除了 InstreamAd
。
移除了 SearchAdRequest
。
移除了 AdListener.onAdLeftApplication()
。
移除了 NativeAppInstallAd
、NativeContentAd
和 UnifiedNativeAd
。
现在有一种名为 NativeAd
的原生广告格式。
RewardedAd
现在是一个抽象类。使用 RewardedAd.load()
静态方法加载激励广告。
添加了
广告检查器 (Beta 版)。
废弃了 AdSize.SMART_BANNER
,取而代之的是自适应横幅广告 。
为所有公共 API 添加了显式可为 null 性注解。
19.8.0
2021 年 3 月 15 日
添加了对
User Messaging Platform SDK 的依赖项。
向 FullScreenContentCallback
添加了 onAdImpression()
回调。
弃用了 InstreamAd
格式。 中介适配器 :
废弃了 MediationBannerAdapter
、MediationInterstitialAdapter
和 MediationNativeAdapter
。新的适配器应实现 Adapter
类以加载这些格式。注意 :为了让中介适配器能够过渡到新的 API,我们在 20.0.0 版本中不会移除这些已弃用的中介适配器类。
对于实时出价专用格式,出价适配器现在可以在 Adapter
类中实现不同的加载方法。
19.7.0
2021 年 1 月 20 日
以下方面的重大更改:
InterstitialAd
RewardedAd
NativeAd
AppOpenAd
废弃了 CustomRenderedAd
。
废弃了前缀为 Publisher
的类和软件包,并替换为前缀 AdManager
。
上次版本 20.0.0 之前的次要版本。在此版本及之前版本中,标记为“已弃用”的所有 API 都将从版本 20.0.0 中移除。如需了解详情,请参阅 20.0.0 版本迁移指南 。
19.6.0
2020 年 12 月 4 日
废弃了 onAdLeftApplication() AdListener
方法。
修复了以下 bug:使用 Android 11 设备的用户点击广告时需要选择浏览器。
19.5.0
2020 年 10 月 20 日
19.4.0
2020 年 9 月 10 日
针对以 API 30 为目标平台的应用,添加了对 Android 11 设备的支持。
开屏广告 :将 AppOpenAd
格式更改为了更类似于全屏格式,而不是横幅广告视图。向 AppOpenAd
添加了 getResponseInfo()
和 show()
方法。废弃了 AppOpenAdView
和 AppOpenAdPresentationCallback
类。
中介 :现在,可以使用中介状态报告。使用 ResponseInfo.getAdapterResponses()
可获取参与广告请求的每个广告联盟的响应信息。
旧版激励广告 :已弃用 RewardedVideoAd
。
修复了 MobileAds.initialize()
仅回调一次完成处理程序的错误。现在,每次调用 MobileAds.initialize()
都会调用完成回调函数。
19.3.0
2020 年 7 月 20 日
注意 :SDK 版本 19.3.0 及更低版本不支持 Android 11 (API 30)。如果您计划将
targetSdkVersion
设置为 API 30,我们建议您使用 SDK 版本 19.4.0 或更高版本。
19.2.0
2020 年 6 月 18 日
新增了 RewardedInterstitialAd
格式。此功能目前处于非公开 Beta 版阶段。请与您的客户经理联系,以申请访问权限。
原生广告 :在测试请求中添加了原生验证器界面,以便帮助您发现并解决原生广告违规行为。
添加了 MobileAds.disableMediationAdapterInitialization()
方法。在初始化 Google 移动广告 SDK 之前调用此方法,可停用中介适配器初始化。
警告 :调用此方法可能会对您的 Google 中介效果产生负面影响。您应仅在应用中包含 Google 中介适配器但未在特定应用会话期间(例如,您要运行 A/B 中介测试)期间通过 Google 进行中介时,才应调用此方法。
19.1.0
2020 年 4 月 16 日
19.0.1
2020 年 3 月 18 日
原生广告 :修复了使用 NativeCustomTemplateAd
时发生的内存泄漏问题。
19.0.0
2020 年 3 月 2 日
此版本是重大版本更新,包含以下重大变更:
将最低 Android SDK 版本更新为 API 16,以与
Google Play 服务分发政策 保持一致。
原生广告 :将 MediaContent
移到了 com.google.android.gms.ads
软件包。
添加了对从 IAB TCF v2.0 和 IAB us_privacy
字符串读取用户意见征求参数的支持。
向 AdRequest
添加了 setNeighboringContentUrls()
和 getNeighboringContentUrls()
。
添加了 ResponseInfo
类,该类可提供与已加载的广告相关的信息。
对于所有广告格式,废弃了 getMediationAdapterClassName()
,取而代之的是 getResponseInfo()
。
原生广告 :向 MediaContent
添加了 getDuration()
和 getCurrentTime()
方法。
原生中介 :向 UnifiedNativeAdMapper
添加了 getDuration()
和 getCurrentTime()
方法,供适配器实现。
弃用了
AdRequest.Builder.addTestDevice()
。请改用
RequestConfiguration.Builder.setTestDeviceIds()
。
18.3.0
2019 年 11 月 5 日
为 InstreamAd
广告格式添加了 API。此功能目前处于非公开 Beta 版阶段。请与您的客户经理联系,以申请访问权限。
自适应横幅广告 :更改了 AdSize
类中的自适应横幅广告创建方法。例如,将 AdSize.getCurrentOrientationBannerAdSizeWithWidth()
重命名为 AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize()
。
中介 :Google 移动广告 SDK 现在会捕获中介适配器抛出的异常。
激励广告中介 :修复了以下 bug:缓存多个参与中介的激励广告时,仅显示一个。
添加了
setTestDeviceIds()
方法,以便为所有广告请求设置一次测试设备。
18.2.0
2019 年 8 月 29 日
添加了适用于
AppOpenAd
格式的 API。此功能目前处于非公开 Beta 版阶段。请与您的客户经理联系,以申请访问权限。
18.1.1
2019 年 7 月 23 日
18.1.0
2019 年 7 月 9 日
18.0.0
2019 年 6 月 17 日
17.2.1
2019 年 5 月 21 日
修复了源自 android.media.AudioManager.getStreamVolume
的 ANR 的问题。
17.2.0
2019 年 3 月 11 日
激励视频广告 :添加了一组新的激励广告 API(请参阅激励广告 软件包),可让您同时加载多个激励广告。
中介 :新增了一组支持初始化的中介适配器 API。实现新 API 的适配器实现 Adapter
类。
使用 firebase-analytics
以及任何广告库的版本 17.2.0
(例如,com.google.android.gms:play-services-ads:17.2.0
)必须使用 com.google.firebase:firebase-analytics:16.3.0
。
17.1.3
2019 年 1 月 31 日
使用 firebase-analytics
以及任何广告库的版本 17.1.3
(例如,com.google.android.gms:play-services-ads:17.1.3
)必须使用 com.google.firebase:firebase-analytics:16.3.0
。
17.1.2
2018 年 12 月 3 日
使用 firebase-analytics
以及任何广告库的版本 17.1.2
(例如,com.google.android.gms:play-services-ads:17.1.2
)必须使用 com.google.firebase:firebase-analytics:16.0.6
。
17.1.1
2018 年 11 月 12 日
修复了 play-services-ads
和 firebase-analytics
的某些组合(例如,ads:17.1.0
和 analytics:16.0.5
)导致出现 duplicate entry
编译器错误。使用 firebase-analytics
以及任何广告库的版本 17.1.1
(例如,com.google.android.gms:play-services-ads:17.1.1
)必须使用 com.google.firebase:firebase-analytics:16.0.5
。
17.1.0
2018 年 11 月 2 日
17.0.0
2018 年 10 月 5 日
Google AdMob 发布商必须在其 AndroidManifest.xml 中指定包含键
com.google.android.gms.ads.APPLICATION_ID
的 <meta-data>
代码。如需了解详情,请参阅入门指南 。
原生广告 :NativeAppInstallAd
、NativeContentAd
和关联的 API 已弃用,取而代之的是 UnifiedNativeAd
。如需详细了解如何使用新 API,请参阅原生高级广告(统一) 。
原生广告 :添加了“不再显示该广告”功能。
原生广告 :良性警告日志:“当确认 ClickClickingView 已设置时,UnconfirmedClickListener 不得为 null”。
激励广告 :在 RewardedVideoAd
中添加了 setAdMetadataListener
方法,以监听广告元数据更改。
激励广告 :调用 destroy()
会使监听器清除 null。
弃用了 AdRequest.Builder
中的以下方法。
修复了在模拟器上不触发 onRewardedVideoCompleted()
的 bug。
16.0.0
2018 年 10 月 2 日
无广告变更。如需了解详情,请参阅 Google Play 服务版本说明 。
15.0.0
2018 年 4 月 12 日
MRAID v3 Beta 版。
原生广告 :添加了 Unified Native Ad API。这会将 NativeAppInstallAds
和 NativeContentAds
合并为一种新类型:UnifiedNativeAd
。
注意 :使用原生广告时,如果用户点击原生广告,日志中会显示一条良性警告:“当确认 ClickClickingView 已设置时,UnconfirmedClickListener 不得为 null”。 此警告可以忽略,并将在下一版本中将其移除。
12.0.1
2018 年 3 月 28 日
无广告变更。如需了解详情,请参阅 Google Play 服务版本说明 。
12.0.0
2018 年 3 月 20 日
激励视频广告:向 RewardedVideoAdListener
添加了 onRewardedVideoCompleted()
回调方法。
为避免在更新到 12.0.0 时出现编译错误,应用需要在其 RewardedVideoAdListener
实现中替换此回调。
原生广告中介:向 NativeAdMapper
添加了 trackViews()
方法,使适配器能够访问与各个原生广告素材资源对应的 View
对象。废弃了 trackView()
,取而代之的是 trackViews()
。
11.8.0
2017 年 12 月 18 日
11.6.0
2017 年 11 月 7 日
在 NativeAppInstallAd
和 NativeContentAd
中添加了 NativeAdViewHolder
类和相关方法。
废弃了 AdLoader.getMediationAdapterClassName
(发布商应改用 NativeAppInstallAd
和 NativeContentAd
中同名的方法)。
测试广告现在会在广告顶部显示标签。如需了解详情,请参阅测试指南 。
11.4.0
2017 年 9 月 19 日
11.2.2
2017 年 9 月 5 日
新增了一个 loadAd()
方法,可将 PublisherAdRequest
对象传入 RewardedVideoAd
类。
11.2.0
2017 年 8 月 14 日
向 AdLoader
类添加了 loadAds()
方法,以允许应用通过单个请求加载多个不同的广告。
当您将应用升级到 11.2.0 或更高版本的 Google 移动广告 SDK 时,还必须更新应用的 build.gradle
,以指定 compileSdkVersion
至少为 26
(Android O)。这不会改变应用的运行方式。不需要更新 targetSdkVersion
。
从 11.2.0 版本开始,Google 移动广告 SDK 通过 Google 的 Maven 制品库提供。如需了解详情,请参阅 Google Play 服务版本说明 。
11.0.0
2017 年 6 月 7 日
10.2.0
2017 年 2 月 15 日
Google Play 服务 10.2.x 是第一个不再完全支持 Android 2.3.x (Gingerbread) 的版本。
使用 SDK 10.2.x 及更高版本开发的应用要求最低的 Android API 级别为 14,并且无法在 API 级别低于 14 的设备上安装。如需详细了解您的选项,包括构建多个 APK 以扩展您的应用对 Android Gingerbread 的支持,请参阅
Android 开发者博客 。
添加了对原生高级广告内容和自定义模板广告的视频素材资源的支持。
向 PublisherAdView
类添加了 getVideoController()
、setVideoOptions()
和 getVideoOptions()
方法。
添加了 AdChoicesView
类。
向 NativeAdMapper
类添加了 getAdChoicesContent()
和 setAdChoicesContent()
方法。
针对在发出广告请求前选择启用早期初始化的激励视频广告中介适配器,添加了 InitializableMediationRewardedVideoAdAdapter
接口。
添加了对 Google Ad Manager 中的应用内预览和问题排查的支持。
10.0.1
2016 年 11 月 21 日
9.8.0
2016 年 10 月 24 日
9.6.0
2016 年 9 月 22 日
9.4.0
2016 年 8 月 1 日
9.2.0
2016 年 6 月 27 日
9.0.1
2016 年 5 月 26 日
解决了 9.0.0 中引入的 ProGuard 问题。发布商不再需要为 com.google.android.gms.common.util.DynamiteApi
使用 keep
选项。
9.0.0
2016 年 5 月 18 日
8.4.0
2015 年 12 月 18 日
8.3.0
2015 年 11 月 6 日
添加了对激励视频广告的支持。
向 PublisherAdView
和 PublisherInterstitialAd
添加了 isLoading()
方法,以检查广告请求是否正在进行。
向 AdRequest.Builder
和 PublisherAdRequest.Builder
添加了 setIsDesignedForFamilies()
方法。
向 NativeAdView
添加了 destroy()
方法。
8.1.0
2015 年 9 月 24 日
修复了各种问题。
7.8.0
2015 年 8 月 13 日
MRAID v2 官方发布版本。
向 AdLoader
、AdView
和 InterstitialAd
添加了 isLoading()
方法,以检查广告请求是否正在进行。
废弃了 PublisherAdRequest.Builder#setManualImpressionsEnabled()
。
请改用 PublisherAdView#setManualImpressionsEnabled()
。
7.5.0
2015‑05‑28
新增了跨 AdMob 和 Ad Manager 的应用安装和内容原生广告格式的支持。
新增了对自定义原生广告格式的支持,适用于 Ad Manager 预订。
7.3.0
2015‑04‑28
修复了各种问题。
7.0.0
2015‑03‑19
向 PublisherAdRequest.Builder
添加了 addCustomTargeting()
和 addCategoryExclusion()
方法。
修复了在使用手动展示次数统计时导致 PublisherAdView.recordManualImpression()
在 Ad Manager 中记录多次展示的问题。
修复了对 <supports-screens>
标记使用 android:largestWidthLimitDp
属性时会导致广告无法正确呈现的问题。
向 AdRequest.Builder
和 PublisherAdRequest.Builder
添加了 setRequestAgent()
方法。此方法应该用于表示由移动广告 SDK 中介的第三方发出广告请求来源。
6.5.87
2014‑12‑08
引入了拆分 JAR 架构 - 现在,Android Studio 开发者只需根据 com.google.android.gms:play‑services‑ads :6.+
包含 Google Play 服务的广告部分。注意 :在 XML 中制作横幅广告的应用仍必须引用整个库 com.google.android.gms:play‑services :6.+
。
修复了各种问题。
6.1
2014‑10‑08
向 com.google.android.gms.ads.MediationAdRequest
添加了 getLocation()
方法。
为插页式广告的关闭按钮添加了内容说明,以方便使用。
库项目正确关联时,不再记录“(未找到 Google Play 资源)”。
向 AdView
添加了 getMediationAdapterClassName()
,用于获取当前展示广告的广告联盟中介适配器的类名称。
5.0
2014‑06‑25
新增了可实现自定义事件的 API。
使用 Google Play Billing API 为应用内购买添加了默认的购买流程。
4.4
2014‑05‑07
新增了 Mediation Adapter API。
为手机和平板电脑新增了 320x100 的 LARGE_BANNER
广告格式。
新增了应用内购买插页式广告格式。在 InterstitialAd
上设置一个 InAppPurchaseListener
以监听应用内购买事件。
修复了由于未经许可读取 gservices 导致 SecurityException
崩溃的 bug。
4.3
2014‑03‑17
如果传递了应用上下文,InterstitialAd
现在便可正常运行。
PublisherAdRequest.Builder
中新增了 setContentUrl()
方法。
修复了“未注册服务”时的例外情况。
4.2
2014‑02‑03
修复了各种错误。
4.1
2014‑01‑16
新增了对 Ad Manager 和移动应用版搜索广告的支持。
AdRequest.Builder
现在具有 setLocation()
方法。
修复了请求插页式广告但未在清单中指定 AdActivity
时发生崩溃的问题。
4.0
2013‑10‑31
Google Mobile Ads API 现已纳入 Google Play 服务 。
未来的 Google Mobile Ads API 更新将自动通过 Google Play 服务推送到设备上。
尚不支持 Ad Manager 和移动应用版搜索广告。