將您的技術與 AMP 整合
感謝您對貢獻 AMP 的興趣!我們感謝您參與使網路成為以使用者為中心的平台。
發布商已建立超過 14 億個 AMP 文件,託管在超過 75 萬個獨立網域上。如此成長唯有透過超過 100 家第三方科技公司的支援才有可能,這些公司已與 AMP 整合。
如果您是網路上發布商或廣告商的技術供應商,我們邀請您新增對 AMP 的支援!您的客戶可以繼續利用您的技術,同時與我們一同努力實現建立更美好網路的願景。
本文件概述 AMP 第三方期望,並定義貢獻等級。
貢獻指南
所有一般貢獻皆受 CONTRIBUTING.md 中的 AMPHTML 通用指南約束。我們期望第三方在不同程度上測試、維護和更新其貢獻。
為了符合納入資格,所有貢獻等級都必須
- 符合英文維基百科的知名度要求。
- 維持或提升與 AMP 向發布商和使用者承諾的相同服務水準。
- 以優良品質建立。
- 為其客戶建立故障排除管道。
- 針對 AMP 的正式發布和 Canary 發布版本,提供良好的整合測試覆蓋率。
- 實現尚不存在的目的。
第三方貢獻等級分為 3 級。等級取決於新增邏輯的數量
- 元件邏輯:決定 AMP 元件核心功能和特性的程式碼。
- 第三方邏輯:特定於第三方的程式碼。此邏輯使元件能夠利用第三方服務。
新增至 AMP 儲存庫的邏輯越多,尤其是第三方特定邏輯,貢獻等級就越高。較高的貢獻等級需要第三方投入更多心力。
第一級和第二級貢獻在第三方之間共用元件。如果現有元件能實現與您的業務相似的目的,請考慮重複使用該元件。這需要較少的工作量,且更易於長期維護。
在決定哪個貢獻等級符合您的使用案例後,開啟 GitHub issue 以開始。
第一級貢獻
第一級貢獻利用現有元件的功能邏輯。它們以跨來源 iframe 中的自訂 JavaScript 形式載入第三方特定邏輯。例如,許多廣告聯播網透過 amp-ad
元件提供廣告,但透過自己的邏輯控制廣告的呈現方式。
第三方使用提供的 API,將設定或功能新增至現有擴充功能,以實作其功能。如果此類元件不存在,他們可以提議新增一個。
唯一簽入 AMP 儲存庫的第三方特定邏輯是第三方設定。將新的第三方新增至現有的第一級貢獻通常不需要設計審查。第三方可以遵循元件的整合文件,例如「將廣告聯播網整合至 AMP」。
對第三方的期望
- 獨立維護和提供供應商的自訂 JavaScript。
- 為其設定提供測試並回應問題。
- 為開發人員提供故障排除管道。
- 回應與其服務相關的任何和所有錯誤回報。
第一級範例
廣告供應商應閱讀開發概觀和開發人員指示,以新增對 amp-ad
的支援。根據貴公司提供的廣告技術,您可能會發現這些整合指示很有用。
許多廣告供應商已新增對廣告相關功能 (例如 amp-ad) 的支援。以下是廣告聯播網 Criteo 的範例 pull request。
第二級貢獻
第二級貢獻利用現有元件的功能邏輯。所有邏輯都簽入 AMP 儲存庫,且沒有自訂 Javascript 可以載入 iframe。例如,分析供應商將其設定新增至 amp-analytics
元件,但包含追蹤資料 (例如使用者點擊) 的端點。
第三方將設定或功能 (例如新的 API) 新增至現有元件,以實作其功能。如果此類元件不存在,他們可以提議新增一個。
所有業務邏輯都簽入 AMP 儲存庫,但唯一簽入的第三方特定邏輯是第三方設定。如果元件使用第三方提供的設定檔運作,則不需要設計審查。如果第三方設定實作新功能或新元件,則需要通過 AMP 的設計審查。
對第三方的期望
- 將新的第三方服務新增至現有的第二級貢獻通常不需要設計審查。第三方可以遵循該元件的文件。
- 提議針對第二級貢獻新增元件需要具有可由其他第三方服務共用的功能邏輯。
第二級範例
AMP 分析功能可讓您根據您設定的觸發條件,將事件傳送回您的伺服器。我們已編寫分析整合指南,以協助您入門。
如果您只需要將具有動態參數的追蹤像素新增至您的追蹤網址,請查看 amp-pixel
。請務必在您的支援頁面上記錄使用方式,以供可能想要將您的技術與 AMP 搭配使用的開發人員參考。
許多分析供應商已新增對 amp-analytics 的支援。以下是分析供應商 Parse.ly 的範例 pull request。
如果您提供來電追蹤評估服務,您的使用案例可能會受到 amp-call-tracking
的支援。此元件會動態取代超連結中的電話號碼,以透過執行 CORS 要求來取代號碼,進而啟用來電追蹤。
若要深入瞭解此元件可能如何為您運作,請參閱參考文件。
第三級貢獻
第三級貢獻引入新的第三方特定元件。這僅適用於第三方無法
- 找到適用於其使用案例的現有元件。
- 要求功能改進以符合其使用案例。
- 提議適用於其他第三方服務的元件。
對第三方的期望
- 撰寫並提議設計審查。
- 測試必須能夠偵測到損壞。
- 如果元件損壞,請修正或請求協助。
- 提供包含程式碼範例的完整文件。
- 維護和更新文件。
- 為 AMP 開發人員提供故障排除管道,以請求協助。