AMP

启用实验性功能

AMP 实验性组件是已发布但尚未准备好广泛使用的功能,因此它们受到实验性状态的保护。

开发人员和用户可以选择在这些功能完全发布之前使用它们。但应谨慎使用,因为它们可能包含错误或产生意想不到的副作用。

存在一些实验永远不会作为 AMP 项目的功能发布的风险。

以下是当前处于实验状态并且已准备好供开发人员测试以获取第一批用户反馈的组件列表

选择加入 AMP Beta 渠道

AMP Beta 渠道是一种选择浏览器使用较新版本的 AMP JS 库的方法。

AMP Beta 渠道版本可能不太稳定,并且可能包含并非所有用户都可用的功能。如果您想帮助测试新版本的 AMP、报告错误或构建需要尚未对所有人开放的新功能的文档,请选择此选项。

选择加入 Beta 渠道非常适合

  • 测试和使用尚未对所有用户开放的新功能。
  • 在质量保证 (QA) 中使用,以确保您的网站与下一个版本的 AMP 兼容。

如果您发现问题似乎仅在 Beta 渠道版本的 AMP 中发生,请提交问题,并附上问题的描述。请始终包含可重现该问题的页面的 URL。

要将您的浏览器选择加入 AMP Beta 渠道,请访问AMP 实验页面并激活“AMP Beta 渠道”实验。要获取有关 AMP 的重要/重大更改的通知,请订阅 amphtml-announce 邮件列表。

启用实验性组件

从 cdn.ampproject.org 提供

对于从 https://*.cdn.ampproject.org 提供的内容,请转到 Google AMP Cache 子域上的 /experiments.html,并通过打开(或关闭)它们来启用(或禁用)任何实验性组件。

例如,要在源自 www.example.com 的缓存 AMP 页面上启用实验,请转到 www-example-com.cdn.ampproject.org/experiments.html

实验选择加入信息将保存到 localStorage,并且仅在从当前域提供的 AMP 页面上启用实验。

从其他域提供

对于从非 CDN 域提供的内容,可以使用 devtools 控制台中的以下内容来切换实验

AMP.toggleExperiment('experiment')

任何包含实验性功能的 AMP 文件都将无法通过 AMP 验证。请删除这些实验性组件以用于生产就绪的 AMP 文档。

为特定文档启用实验

文档可以选择加入某些实验。为此,请在 AMP 脚本(https://cdn.ampproject.org/v0.js)之前的 HTML 文档的头部放置一个名为 amp-experiments-opt-in 的元标记。其内容值是逗号分隔的要选择加入的实验 ID 字符串。

<head>
  ...
  <meta name="amp-experiments-opt-in" content="experiment-a,experiment-b">
  <!-- The meta tag needs to be placed before the AMP runtime script.-->
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  ...
</head>

这样,指定的实验将为文档的所有访问者启用。但是,并非所有实验都允许文档级选择加入。有关允许列入白名单的实验的完整列表,请参阅项目 prod-config.json 文件中的 allow-doc-opt-in 属性。请注意,文档选择加入可以被用户选择退出覆盖。

源试用

源试用使开发人员能够在生产环境中使用实验性功能并提供必要的反馈。

传统上,处于实验模式的功能可以在开发中使用,但不能推送到生产环境。借助源试用,感兴趣的开发人员可以选择在生产环境中测试实验性功能,并抱有以下期望

  • 测试时间有限。
  • 该功能在源试用后可能会进行一些更改。

源试用提供了一个在完全上线之前实现新功能并从中受益的机会。该功能将存在于开发人员的站点上,而不是由实验保护,并且反馈可以直接影响该功能的方向。

启用源试用

在每个使用源试用实验的页面上的 <head> 标记内包含以下 <meta> 标记

<meta name="amp-experiment-token" content="{copy your token here}">

"amp-experiment-token" 是字面字符串,"amp-experiment-token"。而不是令牌本身(它会进入内容属性)或实验的名称。