将您的技术与 AMP 集成
感谢您有兴趣为 AMP 做出贡献!我们感谢您参与使网络成为以用户为中心的平台。
发布商已创建超过 14 亿个 AMP 文档,托管在超过 75 万个唯一域上。只有通过与 AMP 集成的 100 多家第三方技术公司的支持,这种增长才有可能实现。
如果您是网络上发布商或广告商的技术提供商,我们邀请您添加对 AMP 的支持!您的客户可以继续利用您的技术,同时努力实现我们构建更好网络的愿景。
本文档概述了 AMP 对第三方的期望,并定义了贡献级别。
贡献指南
所有一般贡献均受CONTRIBUTING.md 中的 AMPHTML 通用指南的约束。我们希望第三方在不同程度上测试、维护和更新其贡献。
要获得资格,所有贡献级别都必须
- 满足英文维基百科的知名度要求。
- 维护或改进 AMP 向发布商和用户承诺的相同类型的服务级别。
- 以高质量创建。
- 为其客户创建故障排除渠道。
- 针对 AMP 的生产和金丝雀版本提供良好的集成测试覆盖率。
- 实现不存在的目的。
有 3 个第三方贡献级别。级别取决于添加的逻辑量
- 组件逻辑:决定 AMP 组件的核心特性和功能的代码。
- 第三方逻辑:特定于第三方的代码。此逻辑使组件能够利用第三方服务。
添加到 AMP 存储库的逻辑越多,尤其是特定于第三方的逻辑,贡献级别就越高。高贡献级别需要第三方做出更多承诺。
级别 1 和级别 2 贡献在第三方之间共享组件。如果有组件满足与您的业务类似的目的,请考虑重用该组件。这需要更少的工作并且更易于长期维护。
在决定哪个贡献级别满足您的用例后,打开一个GitHub 问题开始。
级别 1 贡献
级别 1 贡献利用现有组件的功能逻辑。它们将第三方特定逻辑作为跨域 iframe 中的自定义 JavaScript 加载。例如,许多广告网络通过amp-ad
组件提供广告,但通过自己的逻辑控制广告的呈现方式。
第三方使用提供的 API 将配置或功能添加到现有扩展程序,以实现其功能。如果不存在此类组件,他们可以提出一个新的组件。
签入 AMP 存储库的唯一第三方特定逻辑是第三方配置。向现有级别 1 贡献添加新的第三方通常不需要设计审查。第三方可以遵循组件的集成文档,例如将广告网络集成到 AMP 中。
对第三方的期望
- 独立维护和提供供应商的自定义 JavaScript。
- 为其配置提供测试并响应问题。
- 为开发人员提供故障排除渠道。
- 响应与其服务相关的任何和所有错误报告。
级别 1 示例
广告提供商应阅读开发概述和开发人员说明,以添加您对amp-ad
的支持。根据贵公司提供的广告技术,您可能会发现这些集成说明很有用。
有许多广告提供商已添加对广告相关功能(如 amp-ad)的支持。这是一个来自广告网络Criteo的示例拉取请求。
级别 2 贡献
级别 2 贡献利用现有组件的功能逻辑。所有逻辑都已签入 AMP 存储库,并且没有自定义 Javascript 可以加载到 iframe 中。例如,分析提供商将其配置添加到amp-analytics
组件,但包括跟踪数据的端点,例如用户点击。
第三方将配置或功能(例如新的 API)添加到现有组件以实现其功能。如果不存在此类组件,他们可以提出一个新的组件。
所有业务逻辑都已签入 AMP 存储库,但唯一签入的第三方特定逻辑是第三方配置。如果组件与第三方提供的配置文件一起使用,则无需设计审查。如果第三方配置实施新功能或新组件,则需要通过 AMP 的设计审查。
对第三方的期望
- 向现有级别 2 贡献添加新的第三方服务通常不需要设计审查。第三方可以遵循该组件的文档。
- 为级别 2 贡献提出新组件将需要具有可由其他第三方服务共享的功能逻辑。
级别 2 示例
AMP 分析允许您根据您配置的触发器将事件发送回您的服务器。我们编写了一份分析集成指南,以帮助您入门。
如果您只需要将带有动态参数的跟踪像素添加到您的跟踪 URL,请查看amp-pixel
。请务必在您的支持页面上记录使用情况,以便可能希望将您的技术与 AMP 结合使用的开发人员使用。
有分析提供商已添加对 amp-analytics 的支持。这是一个来自分析提供商Parse.ly的示例拉取请求。
如果您提供通话跟踪衡量服务,则amp-call-tracking
可能会支持您的用例。此组件通过执行 CORS 请求来替换号码,动态替换超链接中的电话号码以启用通话跟踪。
要了解有关此组件如何适用于您的更多信息,请参阅参考文档。
级别 3 贡献
级别 3 贡献引入了一个新的第三方特定组件。这仅适用于第三方无法
- 找到适合其用例的现有组件。
- 请求功能改进以满足其用例。
- 提出适用于其他第三方服务的组件。
对第三方的期望
- 编写并提出设计审查。
- 测试必须能够捕获中断。
- 如果组件中断,请修复或请求帮助。
- 提供带有代码示例的详尽文档。
- 维护和更新文档。
- 为 AMP 开发人员提供故障排除渠道以请求帮助。