GPT 版本说明

此页面记录了 Google 发布商代码 (GPT) 库的正式版更新。您可以定期查看本页面,了解有关新增功能、功能更新、bug 修复、已知问题和功能弃用的公告。

如需接收更新,请将此页面的网址添加到您所选的 Feed 阅读器中,或者使用一个直接指向版本说明 Feed(Atom 1.0Feed 图标RSS 2.0Feed 图标 格式)的链接。

了解发布日期

对 GPT 库所做的所有更改都会在发布前进行全面测试。此外,我们会逐步向用户发布版本,以进一步防范意外回归。如果在发布过程中的任何时间发现回归问题,则可以在该版本面向所有用户发布之前快速放弃整个版本。

因此,发布日期并非确切日期;某个版本可能需要几天到几周的时间才能全面发布。这意味着用户会在不同的时间遇到变化。下方提供的日期反映的是相应更改面向所有用户全面发布的周开始日期。

2024 年 10 月 21 日所在的周

修改了 threadYield,以便在可用时使用 Scheduler.yield 而非 Scheduler.postTask。如需了解详情,请参阅收益文档

已在 GPT 中更新
属性 googletag.config.PageSettingsConfig.threadYield

2024 年 9 月 2 日所在的周

2024 年 8 月 19 日当周

用于控制 GPT 线程让出行为的设置已从 adYield 重命名为 threadYield,以明确该功能侧重于让出 JS 线程,而不是优化广告收益。该功能及其关联 API 的行为(名称除外)保持不变。adYield 属性将在未来的 GPT 版本中移除。

您可以使用 googletag.setConfig({threadYield: 'DISABLED'}); 停用默认线程屈服行为,也可以使用 googletag.setConfig({threadYield: 'ENABLED_ALL_SLOTS'}); 应用于所有槽,而不考虑其相对于视口的位置。

已在 GPT 中更新
属性 googletag.config.PageSettingsConfig.threadYield

2024 年 7 月 29 日所在的周

GPT 现在会在呈现广告素材之前使用 Scheduler.postTask(如果可用)让出 JS 线程,优先级为“user-blocking”。实践证明,这对展示次数的影响微乎其微,同时对核心网页指标有显著益处。 默认情况下,只有当广告位在视口范围之外时,GPT 才会产生收益。

您可以使用 googletag.setConfig({adYield: 'DISABLED'}); 停用默认行为,也可以使用 googletag.setConfig({adYield: 'ENABLED_ALL_SLOTS'}); 将其应用于所有槽,而不考虑其相对于视口的位置。

GPT 中的新功能
属性 googletag.config.PageSettingsConfig.adYield

2024 年 2 月 12 日当周

修复了 SlotRenderEndedEvent.slotContentChanged 始终为 true 的 bug。今后,只有在广告位的广告内容发生更改时,此属性才会为 true;否则(例如,如果广告未填充),此属性将为 false

2024 年 1 月 29 日所在的周

广告请求的广告联盟失败会通过触发 googletag.events.SlotRenderEndedEvent(将 isEmpty 设为 true)来模拟广告空缺。如需了解如何监听此事件,请参阅广告事件监听器。更改包括在使用 collapseEmptyDivs 时自动收起槽。

2023 年 12 月 11 日所在的周

2023 年 11 月 13 日当周

添加了对 Chrome 预渲染的支持。 当 GPT 检测到网页处于预渲染状态时,广告请求将被延迟,直到网页对用户可见为止。

2023 年 10 月 23 日所在的周

添加了对可选的网站插页触发器的支持。

GPT 新增功能
对象 googletag.config.InterstitialConfig
属性 googletag.config.SlotSettingsConfig.interstitial
类型 googletag.config.InterstitialTrigger

2023 年 7 月 24 日当周

Protected Audience API(以前称为 FLEDGE)将于 7 月份发布的 Chrome 中正式推出。因此,GPT 中与组件竞价相关的功能现在被视为稳定。

2023 年 6 月 19 日当周

更新:自 2023 年 7 月 5 日当天或之后,GPT 将不再提供过时的 JavaScript 库版本,也不会向这些版本投放广告。如需了解详情,请参阅之前的公告

发布商可以继续从 www.googletagservices.com/tag/js/gpt.js 投放代码。不过,建议改用首选网域,因为这可能会提升效果,而且我们未来可能会停止在 www.googletagservices.com 上投放 gpt.js。

2023 年 6 月 6 日所在的周

自 2023 年 7 月 5 日当天或之后,GPT 将不再提供过时的 JavaScript 库版本。从官方网址加载 GPT 的发布商不会受到影响。 如果发布商投放的是缓存版 gpt.js、pubads_impl.js 或其加载的任何库,则必须更新其网页以使用官方网址。如需了解详情,请参阅开始使用指南。

2023 年 5 月 22 日当周

现在,系统会自动移除提供给 googletag.defineSlot()SizeMappingBuilder.addSize() 的负值和零大小值,因为它们无效。因此,提供此类无效值的现有集成可能会导致发布商控制台消息增多。 不过,这不会影响现有的有效广告请求。

2023 年 5 月 18 日所在的周

现在,在 GPT 执行过程中,将由 GPT 安装安全信号出价工具脚本。这可能会提高广告请求中的信号覆盖率。

2023 年 5 月 1 日当周

修复了刷新多尺寸锚定槽时广告素材可能会显示为截断的问题。

2023 年 3 月 27 日当周

GPT 不再支持在未原生支持 Intersection Observer API 的浏览器上使用基于可见度的功能。请注意,所有受支持的浏览器都原生支持此 API。

方法或事件
googletag.events.ImpressionViewableEvent
googletag.events.SlotVisibilityChangedEvent
googletag.pubads().enableLazyLoad()

2023 年 2 月 6 日当周

2023 年 1 月 30 日当周

Service.addEventListener() 的行为已更改,因此当事件发生时,所有关联的监听器都会在处理后续事件之前执行。在此更改之前,同一槽的槽渲染开始和结束事件监听器可能会无序执行。

2022 年 8 月 15 日当周

Service.removeEventListener() 的返回类型已从 boolean 更改为 void

2022 年 7 月 25 日所在的周

添加了对 FLEDGE 组件竞价的实验性支持,以便尽早测试有多个卖方的 FLEDGE

GPT 中的新功能
方法 Slot.setConfig()
对象 ComponentAuctionConfig
SlotSettingsConfig

2022 年 7 月 18 日所在的周

ContentService API 已弃用。调用 googletag.content().setContent 现在除了记录警告之外没有任何作用。googletag.content 属性很快就会被完全移除;之后,如果尝试调用该属性,系统会抛出异常。请改用浏览器的内置 DOM API 将所需内容直接添加到 div 元素。

2022 年 5 月 23 日当周

添加了对配置广告请求流量来源的支持。

GPT 对流量来源的支持
枚举 TrafficSource.ORGANIC
TrafficSource.PURCHASED
属性 PrivacySettingsConfig.trafficSource

2022 年 3 月 7 日所在的周

适合在网站中展示的激励广告已发布。如需了解详情,请访问 Ad Manager 帮助中心

对适合在网站中展示的激励广告的 GPT 支持
枚举 OutOfPageFormat.REWARDED
事件 RewardedSlotClosedEvent
事件 RewardedSlotGrantedEvent
事件 RewardedSlotReadyEvent
对象 RewardedPayload

2022 年 2 月 28 日当周

CommandArray.push 现在会将提供的函数显式绑定到 globalThis,而不是它自己的 arguments 对象。

2021 年 12 月 8 日当周

枚举现在还公开值到键的反向映射,以便匹配 TypeScript 枚举的行为。采用枚举值的 API 保持不变,不应使用这些新的反向映射。

2021 年 8 月 9 日当周

添加了 removeEventListener 方法。

使用相同 eventType 和回调函数实例多次调用 addEventListener 现在属于空操作。换句话说,如果同一个回调函数实例针对同一事件类型注册了 n 次,则在事件发生时,该函数实例仅会执行一次,而不是 n 次。

2021 年 7 月 29 日所在的周

GPT 的可见度事件:ImpressionViewableEventSlotVisibilityChangedEvent 现在会在长网页会话中继续触发。以前,它们会在页面加载一小时后关闭。

2021 年 5 月 3 日当周

GPT 不再在提取广告之前为广告位设置空间。这项变更可降低未使用 CSS 预留空间的网站的累积布局偏移 (CLS)。 为了进一步降低您网站上的 CLS,我们建议您使用 CSS 为广告预留非零区域。了解详情

2021 年 3 月 22 日所在的周

更新了 enableLazyLoad() 的行为,以同时延迟渲染后台标签页上的非首屏广告位。

2021 年 2 月 23 日所在的周

现在,您可以在 displayrefresh 之前的任何时间调用 googletag.pubads().setSlot.set 方法。以前,只有在 googletag.enableServices 之前调用时,set 才会应用。

2021 年 2 月 16 日当周

现在,您可以随时调用 googletag.pubads().setPublisherProvidedId API。以前,只有在调用 googletag.enableServices 之前调用此方法时,它才会起作用。

2021 年 1 月 4 日所在的周

现在,可以重复调用 googletag.pubads().collapseEmptyDivs API 来更改设置。之前重复的调用将被忽略。

2020 年 10 月 12 日所在的周

推出了网站插页式广告公开 Beta 版,请参阅帮助中心

2020 年 8 月 31 日所在的周

废弃了 definePassback()defineOutOfPagePassback()。如需了解如何正确创建回传,请参阅回传文档

2020 年 6 月 15 日所在的周

更新了 enableLazyLoad() 的行为,使其与 collapseEmptyDivs(true) 兼容。

2020 年 5 月 25 日所在的周

GPT 将不再支持发布商设置的确切 GPS 位置信息。具体来说,googletag.pubads().setLocation() 将不再支持纬度、经度或半径参数,而是接受自由格式的地址。

2020 年 4 月 27 日所在的周

GPT 呈现逻辑不再模块化为单独的文件。这意味着,GPT 在执行时会提取更少的文件,从而略微缩短延迟时间,但对用户带宽没有净影响。

现在,当 GPT 中触发请求(通过调用 googletag.display()googletag.pubads().refresh())时,我们会在内部冻结所有发布商提供的状态,以便在发送请求之前无法对其进行更改。因此,当某个请求触发时,系统只会将在该时间点之前汇总的状态用于该请求。在此之后修改的任何状态都将仅应用于以下请求。

2019 年 11 月 11 日当周

现在,为方便您创建 GPT 回传代码,我们推荐了一个新的代码段。最好不要使用 definePassback()defineOutOfPagePassback(),因为它们行为同步,可能会被某些浏览器屏蔽。了解详情

添加了 Slot.updateTargetingFromMap() 方法。

添加了 PubAdsService.setPrivacySettings() 作为启用隐私设置的新方法。日后我们会在此处提供其他设置。

2019 年 3 月 25 日当周

现在,Pubads 服务在调用 googletag.enableServices() 后可立即全面运行,而不是进行异步初始化。这意味着,现在在调用 googletag.enableServices() 后,googletag.pubadsReady 一定会为 true。不再需要轮询来检查 googletag.pubadsReady 的值。

2019 年 2 月 4 日所在的周

更新了 enableLazyLoad() 的行为,以允许在调用 enableServices() 后更改延迟加载配置,并在每个槽显示时冻结该槽的延迟加载配置。

2019 年 1 月 21 日当周

添加了新的受支持事件 SlotResponseReceived,该事件会在收到相应广告位广告响应时触发。

googleTag.ResponseInformation 添加了一个新字段 creativeTemplateId

2019 年 1 月 14 日当周

添加了新的受支持事件 SlotRequestedEvent,该事件会在针对某个广告位发出广告请求时触发。

2018 年 8 月 27 日所在的周

修改了 googletag.display(),以接受 googletag.Slot 作为实参。

2018 年 8 月 6 日所在的周

添加了 googletag.PubAdsService.enableLazyLoad(),以便在 GPT 中延迟加载广告。

2018 年 6 月 18 日当周

修复了导致 googletag.events.SlotOnloadEvent 不触发的 bug。

2018 年 4 月 30 日所在的周

添加了 googletag.PubAdsService.setTagForUnderAgeOfConsent(),用于控制面向未达到法定承诺年龄的用户的广告;添加了 googletag.PassbackSlot.setTagForUnderAgeOfConsent(),用于将回传广告位标记为来自未达到法定承诺年龄的用户。

2018 年 4 月 23 日当周

添加了 googletag.PubAdsService.setRequestNonPersonalizedAds(),用于控制广告个性化。

2018 年 3 月 12 日所在的周

还原了以下更改:在刷新之前停止移除槽位中的现有内容(前提是该内容不是由 GPT 放置的)。内容现在将被清除。

2018 年 2 月 19 日当周

使用异步呈现模式时:对于所有广告请求,请尽可能使用 HTTP GET 方法通过 XMLHttpRequest 请求广告,请求内容不得超过 8,192 个字符。以前,如果广告请求的字符数超过 4,096 个字符(上限为 8,192 个字符),系统会使用 HTTP POST 方法。

停止在刷新之前移除槽位中的现有内容(如果该内容不是由 GPT 放置的)。 此备注不正确;请参阅 2018 年 3 月 12 日当周的条目

2018 年 1 月 8 日当周

支持在多尺寸数组中将 [..., ['fluid'], ...] 用作 NamedSized 的替代语法。之前,只有 [..., 'fluid', ...] 被视为有效。

2017 年 7 月 10 日当周

googleTag.ResponseInformation 中移除了 labelIds 字段。

2017 年 6 月 5 日所在的周

修改了 googletag.display()googletag.pubads().display,以接受 div 元素和 div ID。这允许在 shadow DOM 中的 div 内渲染槽位。

2017 年 2 月 27 日所在的周

2016 年 11 月 7 日当周

发布了 Service 上的 getSlots() API,用于检索与服务关联的槽位列表。

2016 年 10 月 17 日所在的周

修改了 Slot.clearTargeting()PubAdsService.clearTargeting(),以接受可选的键参数。

2016 年 9 月 5 日当周

googletag.cmd.push() 中捕获到的错误不再不可见,并且将输出到控制台。

2016 年 8 月 8 日当周

发布了 SlotOnloadEvent API,以允许监听广告素材是否已完成加载。

2016 年 7 月 25 日当周

在 PubAdsService 上发布了 getTargeting()getTargetingKeys() API,用于检索自定义服务级定位参数。

2016 年 6 月 20 日当周

发布了 openConsole() API,以便您无需刷新页面即可打开 Google 发布商控制台。

2016 年 6 月 6 日所在的那一周

发布了 getTargeting()getTargetingKeys() API,用于检索自定义定位参数。

添加了配置选项,其中 Safeframe 应允许通过推送内容进行展开:allowPushExpansion

2016 年 5 月 16 日当周

在多尺寸广告请求中支持自适应尺寸

2016 年 4 月 18 日所在的那一周

发布了 getResponseInformation API,该 API 会返回广告位的广告响应信息。

发布了 setAdIframeTitle API,该 API 会将输入设置为之后创建的任何广告容器 iframe 的标题。

2016 年 4 月 4 日当周

HTTP GET 广告请求的长度上限提高到了 4,096 个字符。

2016 年 3 月 28 日所在的周

添加了配置选项,其中 Safeframe 应允许通过叠加内容进行展开:allowOverlayExpansion

添加了配置选项,以便 SafeFrame 应使用 HTML5 沙盒属性来阻止顶层导航:sandbox

2016 年 2 月 22 日所在的那一周

添加了为广告容器 iframe 设置标题的功能:setAdIframeTitle()

添加了用于在网页级和广告位级配置 SafeFrame 属性的 API:setSafeFrameConfig()

2016 年 2 月 15 日当周

添加了销毁槽并重复使用 div 的功能:destroySlots()

添加了一个 API,用于在具有精细控制功能的广告槽中强制使用 SafeFrame:setForceSafeFrame()

2015 年 12 月 7 日当周

添加了广告位公开范围事件 (SlotVisibilityChangedEvent)。

2015 年 10 月 26 日当周

添加了展示可见度 (ImpressionViewableEvent)。

从 JSON 映射 (Passback.updateTargetingFromMap()) 更新回传定位条件。

针对回传广告位支持 set()get() AdSense 属性 page_url

2015 年 10 月 12 日当周

支持页外回传

2015 年 8 月 31 日当周

将 GPT 架构重构为一个精简的加载器和一个更大的实现。

支持 GPT 中的自适应尺寸