AMP

将您的技术与 AMP 集成

感谢您有兴趣为 AMP 做出贡献!我们感谢您的参与,使 Web 成为一个以用户为中心的平台。

发布商已创建超过 14 亿个 AMP 文档,托管在超过 75 万个唯一域上。只有通过 100 多家已与 AMP 集成的第三方技术公司的支持,才有可能实现如此增长。

如果您是 Web 上发布商或广告商的技术提供商,我们邀请您添加对 AMP 的支持!您的客户可以继续利用您的技术,同时努力实现我们构建更好 Web 的愿景。

本文档概述了 AMP 对第三方的期望并定义了贡献级别。

贡献指南

所有一般贡献均受 CONTRIBUTING.md 中的 AMPHTML 通用指南的约束。我们希望第三方在不同程度上测试、维护和更新他们的贡献。

为了符合纳入条件,所有贡献级别必须

  • 符合英文维基百科的知名度要求
  • 保持或提高与 AMP 向发布商和用户承诺的相同类型的服务水平。
  • 以良好的质量创建。
  • 为其客户创建一个故障排除渠道。
  • 针对 AMP 的生产版本和 Canary 版本提供良好的集成测试覆盖率。
  • 实现不存在的目的。

共有 3 个第三方贡献级别。级别取决于添加的逻辑量

  • 组件逻辑:决定 AMP 组件核心特性和功能的代码。
  • 第三方逻辑:特定于第三方的代码。此逻辑使组件能够利用第三方服务。

添加到 AMP 存储库的逻辑越多,尤其是特定于第三方的逻辑越多,贡献级别就越高。高贡献级别需要第三方做出更多承诺。

一级和二级贡献在第三方之间共享组件。如果有一个组件可以实现与您的业务类似的目的,请考虑重用该组件。这需要更少的精力,并且更易于长期维护。

在决定哪个贡献级别符合您的用例后,打开一个 GitHub 问题开始。

一级贡献

一级贡献利用现有组件的功能逻辑。它们将第三方特定的逻辑作为自定义 JavaScript 加载到跨域 iframe 中。例如,许多广告网络通过 amp-ad 组件提供广告,但通过他们自己的逻辑控制广告的呈现方式。

第三方使用提供的 API 向现有扩展添加配置或功能,以实现其功能。如果不存在这样的组件,他们可以提出一个新的组件。

签入 AMP 存储库的唯一第三方特定逻辑是第三方配置。向现有的一级贡献添加新的第三方通常不需要设计审查。第三方可以遵循组件的集成文档,例如将广告网络集成到 AMP 中

对第三方的期望

  • 独立维护和提供供应商的自定义 JavaScript。
  • 为其配置提供测试并响应问题。
  • 为开发人员提供故障排除渠道。
  • 响应与其服务相关的任何和所有错误报告。

一级示例

amp-ad

广告提供商应阅读 开发概述开发人员说明,了解如何将您的支持添加到 amp-ad。根据您的公司提供的广告技术,您可能会发现 这些集成说明很有用。

有许多广告提供商已经添加了对广告相关功能(如 amp-ad)的支持。这是一个来自广告网络Criteo示例拉取请求

二级贡献

二级贡献利用现有组件的功能逻辑。所有逻辑都签入 AMP 存储库,并且无法将任何自定义 Javascript 加载到 iframe 中。例如,分析提供商将其配置添加到 amp-analytics 组件,但包括用于跟踪数据(如用户点击)的端点。

第三方使用提供的 API 向现有组件添加配置或功能(例如新 API),以实现其功能。如果不存在这样的组件,他们可以提出一个新的组件。

所有业务逻辑都签入 AMP 存储库,但签入的唯一第三方特定逻辑是第三方配置。如果组件使用第三方提供的配置文件,则不需要设计审查。如果第三方配置实现了新功能或新组件,则需要通过 AMP 的设计审查。

对第三方的期望

  • 向现有的二级贡献添加新的第三方服务通常不需要设计审查。第三方可以遵循该组件的文档。
  • 为二级贡献提出新组件将需要具有可由其他第三方服务共享的功能逻辑。

二级示例

amp-analytics

AMP 分析允许您根据您配置的触发器将事件发送回您的服务器。我们编写了一份分析集成指南,帮助您入门。

如果您只需要在跟踪 URL 中添加带有动态参数的跟踪像素,请查看 amp-pixel。请务必在您的支持页面上记录使用情况,以供可能希望将您的技术与 AMP 一起使用的开发人员参考。

有分析提供商已经添加了对 amp-analytics 的支持。这是一个来自分析提供商 Parse.ly示例拉取请求

amp-call-tracking

如果您提供呼叫跟踪测量服务,则可以使用 amp-call-tracking 支持您的用例。此组件通过执行 CORS 请求来替换号码,从而动态替换超链接中的电话号码以启用呼叫跟踪。

要了解有关此组件如何为您工作的更多信息,请参阅参考文档

三级贡献

三级贡献引入了一个新的第三方特定组件。这仅适用于第三方无法执行以下操作的情况

  • 找到一个适用于其用例的现有组件。
  • 请求功能改进以满足其用例。
  • 提出适用于其他第三方服务的组件。

对第三方的期望

  • 编写并提出设计审查。
  • 测试必须能够捕获中断。
  • 如果组件中断,请修复或请求帮助。
  • 提供包含代码示例的详尽文档。
  • 维护和更新文档。
  • 为 AMP 开发人员提供故障排除渠道,以请求帮助。