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