发行说明

版本 发布日期 备注
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 支持。
  • 添加了对同应用标识键的支持,帮助您通过使用从应用收集的数据投放更相关的个性化广告。
  • 用于生成“QueryInfo”的版本的官方发布版本。
21.3.0 2022 年 10 月 10 日
21.2.0 2022 年 9 月 6 日
  • 广告检查器:添加了 SDK 支持,支持通过 Android Sharesheet 导出广告请求日志。
21.1.0 2022 年 7 月 14 日
  • WebView 中添加了对广告创收的支持。如需了解详情,请参阅集成适用于广告的 WebView API
  • ResponseInfo 添加了 getResponseExtras(),它可能会返回有关广告响应的额外信息。
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()
  • 在广告检查器中新增了对自定义事件的支持。
20.6.0 2022 年 2 月 22 日
20.5.0 2021 年 11 月 18 日
  • 针对以 API 31 为目标平台的应用,添加了对 Android 12 设备的支持。
  • 针对报告和欺诈防范等用例添加了对 应用组 ID 的支持。
20.4.0 2021 年 9 月 22 日
  • 从 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()
    • 移除了 NativeAppInstallAdNativeContentAdUnifiedNativeAd。 现在有一种名为 NativeAd 的原生广告格式。
    • RewardedAd 现在是一个抽象类。使用 RewardedAd.load() 静态方法加载激励广告。
  • 添加了 广告检查器(Beta 版)。
  • 废弃了 AdSize.SMART_BANNER,取而代之的是自适应横幅广告
  • 为所有公共 API 添加了显式可为 null 性注解。
19.8.0 2021 年 3 月 15 日
  • 添加了对 User Messaging Platform SDK 的依赖项。
  • FullScreenContentCallback 添加了 onAdImpression() 回调。
  • 弃用了 InstreamAd 格式。
  • 中介适配器
    • 废弃了 MediationBannerAdapterMediationInterstitialAdapterMediationNativeAdapter。新的适配器应实现 Adapter 类以加载这些格式。
    • 对于实时出价专用格式,出价适配器现在可以在 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 日
  • 横幅广告:系统现在会对横幅广告调用 onAdImpression() AdListener 方法。
  • 添加了 setHttpTimeoutMillis() 方法,用于自定义 Google 移动广告 SDK 发出的 HTTPS 调用的超时时间。
19.4.0 2020 年 9 月 10 日
  • 针对以 API 30 为目标平台的应用,添加了对 Android 11 设备的支持。
  • 开屏广告:将 AppOpenAd 格式更改为了更类似于全屏格式,而不是横幅广告视图。向 AppOpenAd 添加了 getResponseInfo()show() 方法。废弃了 AppOpenAdViewAppOpenAdPresentationCallback 类。
  • 中介:现在,可以使用中介状态报告。使用 ResponseInfo.getAdapterResponses() 可获取参与广告请求的每个广告联盟的响应信息。
  • 旧版激励广告:已弃用 RewardedVideoAd
  • 修复了 MobileAds.initialize() 仅回调一次完成处理程序的错误。现在,每次调用 MobileAds.initialize() 都会调用完成回调函数。
19.3.0 2020 年 7 月 20 日
  • AdError 添加了 getDomain()getCause() 方法。
  • 向所有返回 LoadAdError 的广告格式添加了新的加载失败回调函数。例如,onAdFailedToLoad(LoadAdError)
  • 废弃了返回 int 的加载失败回调。例如,onAdFailedToLoad(int)
  • 激励广告:添加了 onRewardedAdFailedToShow(AdError) 并废弃了 onRewardedAdFailedToShow(int)
  • 激励广告中介:添加了 MEDIATION_SHOW_ERROR 演示错误代码。现在,与中介广告相关的所有展示错误都会针对 AdError.getCode() 返回 MEDIATION_SHOW_ERROR,并且会返回代表底层中介错误的 NonNull AdError.getCause()
19.2.0 2020 年 6 月 18 日
  • 新增了 RewardedInterstitialAd 格式。此功能目前处于非公开 Beta 版阶段。请与您的客户经理联系,以申请访问权限。
  • 原生广告:在测试请求中添加了原生验证器界面,以便帮助您发现并解决原生广告违规行为。
  • 添加了 MobileAds.disableMediationAdapterInitialization() 方法。在初始化 Google 移动广告 SDK 之前调用此方法,可停用中介适配器初始化。
19.1.0 2020 年 4 月 16 日
19.0.1 2020 年 3 月 18 日
  • 原生广告:修复了使用 NativeCustomTemplateAd 时发生的内存泄漏问题。
19.0.0 2020 年 3 月 2 日
  • 添加了对从 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 日
  • 从 Android 支持库迁移到 Jetpack (AndroidX) 库。如需了解详情,请参阅 Google Play 服务版本说明
  • 为了避免首次从 Play 商店安装应用后出现崩溃,此版本要求发布商在其 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 年 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-adsfirebase-analytics 的某些组合(例如,ads:17.1.0analytics: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> 代码。如需了解详情,请参阅入门指南
  • 原生广告NativeAppInstallAdNativeContentAd 和关联的 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。这会将 NativeAppInstallAdsNativeContentAds 合并为一种新类型:UnifiedNativeAd
  • 注意:使用原生广告时,如果用户点击原生广告,日志中会显示一条良性警告:“当确认 ClickClickingView 已设置时,UnconfirmedClickListener 不得为 null”。此警告可以忽略,并将在下一版本中将其移除。
12.0.1 2018 年 3 月 28 日
  • 无广告变更。如需了解详情,请参阅 Google Play 服务版本说明
12.0.0 2018 年 3 月 20 日
  • 激励视频广告:向 RewardedVideoAdListener 添加了 onRewardedVideoCompleted() 回调方法。
  • 原生广告中介:向 NativeAdMapper 添加了 trackViews() 方法,使适配器能够访问与各个原生广告素材资源对应的 View 对象。废弃了 trackView(),取而代之的是 trackViews()
11.8.0 2017 年 12 月 18 日
  • 修复了多个问题并进行了一些常规改进。
11.6.0 2017 年 11 月 7 日
  • NativeAppInstallAdNativeContentAd 中添加了 NativeAdViewHolder 类和相关方法。
  • 废弃了 AdLoader.getMediationAdapterClassName(发布商应改用 NativeAppInstallAdNativeContentAd 中同名的方法)。
  • 测试广告现在会在广告顶部显示标签。如需了解详情,请参阅测试指南
11.4.0 2017 年 9 月 19 日
  • NativeAppInstallAdNativeContentAd 类添加了 getMediationAdapterClassName() 方法。AdLoader 中同名的方法将被弃用。
  • NativeAdMapper 类中的 MediationNativeListener 类添加了 onVideoEnd() 方法,hasVideoContent()setHasVideoContent()setMediaView() 方法,以及 NativeMediationAdRequest 类中的 getAdVolume()isAdMuted() 方法,以支持原生视频中介。
  • 移除了 SearchAdRequest 类。
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 日
  • AdListener 类添加了 onAdClicked()onAdImpression() 方法。仅会为应用安装广告和原生内容广告调用这些方法。
  • AdViewInterstitialAdNativeExpressAdView 类中移除了 getInAppPurchaseListener()setInAppPurchaseListener() 方法。还移除了相关的应用内购买类。
  • VideoController.VideoLifecycleCallbacks 类添加了 OnVideoMute()OnVideoPause()OnVideoPlay()OnVideoStart() 方法。
  • 通过将 setImmersiveMode() 方法添加到 PublisherInterstitialAd 类和 RewardedVideoAd 类,添加了在全屏广告上启用沉浸模式的功能。
  • 添加了 OnPublisherAdViewLoadedListener 接口、PublisherAdViewOptions 类和 PublisherAdViewOptions.Builder 类,以用于 AdLoader 原生原生+横幅请求。
  • 添加了可选的 OnImmersiveModeUpdatedListener 接口,中介适配器可以实现该接口以了解沉浸模式更新。
  • RewardedVideoAd 类添加了 getMediationAdapterClassName() 方法。
  • 添加了 keep 规则,可在使用 ProGuard 时自动保留中介适配器类名称。
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 日
  • MobileAds.Initialize(Context) 已弃用。Google Ad Manager 发布商应在初始化其应用时调用此方法。AdMob 发布商仍应使用 MobileAds.Initialize(Context, String) 并传递其应用代码。
9.6.0 2016 年 9 月 22 日
  • 为原生高级视频广告添加了 MediaView 类。
  • MobileAds 类添加了 openDebugMenu() 方法,用于对 Ad Manager 广告单元进行广告素材预览和问题排查。
  • 添加了对激励视频广告自定义事件的支持。
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 日
  • 添加了公共方法 MobileAds.setAppVolume(),用于向移动广告 SDK 告知应用的当前音量。
  • 实现了 bug 修复和改进。
8.3.0 2015 年 11 月 6 日
  • 添加了对激励视频广告的支持。
  • PublisherAdViewPublisherInterstitialAd 添加了 isLoading() 方法,以检查广告请求是否正在进行。
  • AdRequest.BuilderPublisherAdRequest.Builder 添加了 setIsDesignedForFamilies() 方法。
  • NativeAdView 添加了 destroy() 方法。
8.1.0 2015 年 9 月 24 日 修复了各种问题。
7.8.0 2015 年 8 月 13 日
  • MRAID v2 官方发布版本。
  • AdLoaderAdViewInterstitialAd 添加了 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.BuilderPublisherAdRequest.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 和移动应用版搜索广告。