AMP

重要事項:本文件不適用於您目前選取的格式「網站」!

amp-ad-custom

說明

提供有效 AMPHTML 廣告的替代方式。

 

必要指令碼

<script async custom-element="amp-ad-custom" src="https://cdn.ampproject.org/v0/amp-ad-custom-0.1.js"></script>

總覽

AMP 範本廣告是提供有效 AMPHTML 廣告的替代方式,無需處理伺服時間驗證和簽署的複雜程序。其高階概念是載入以 AMP 撰寫且由授權 AMP Proxy 伺服器提供的廣告範本,並在用戶端使用從廣告伺服器擷取的 JSON 格式廣告資料來轉譯廣告。

任何廣告聯播網若要提供 AMPHTML 範本廣告,整合作業包含 3 個部分

  • AMPHTML 廣告範本建立
  • 廣告伺服器變更:廣告放送端點
  • AMP 中的廣告標記

AMPHTML 廣告範本建立

廣告聯播網以 AMP 格式建立廣告範本,並將其託管在自己的網域中,與標準 AMP 網頁類似。

例如,adnetwork.com 可以在下列網址託管範本:https://adnetwork.com/amp_template_1.html。對應的 AMP Proxy 網址為:https://adnetwork-com.cdn.ampproject.org/ad/s/adnetwork.com/amp_template_1.html.

廣告聯播網的網域名稱 (來源) 作為命名空間,而網址路徑則作為其 ID。

Proxy 伺服器會在第一次請求時快取範本。它遵循與一般 AMP 網頁相同的過時重新驗證快取政策,表示每次快取命中後,都會在背景發出同步要求。

為了確保範本是有效的 AMPHTML,廣告聯播網必須向快取網址發出 HTTP 要求,如果無效,則會傳回 4XX 錯誤。這也會預先載入快取,進而加快第一次廣告載入速度。快取網址可以從標準 AMP 網址轉換而來,轉換規則如上所述 (詳情請參閱此處的網址格式)。

若要更新範本,廣告聯播網只需更新其網域上的網頁,然後再發出另一個快取預先載入要求即可。

在此階段,網域需要在 AMP 快取中手動加入允許清單,才能試用這項功能。

廣告伺服器

廣告聯播網需要提供新的放送端點,以 JSON 格式傳回 CORS 回應

{
  templateUrl: "https://adexample.com/amp_template_1.html",
  data: {
    clickUrl: "https://buy.com/buy-1",
    buttonText: "Buy now"
  },
  analytics: {
    type: "googleanalytics",
    config: {
      ...
    }
  }
}

回應需要幾個自訂標頭

  • CORS 的自訂標頭
  • AMP-Ad-Template-Extension: amp-mustache
  • Amp-Ad-Response-Type: template

廣告標記

amp-ad-custom 擴充功能可用於快速宣告廣告版位,方法是使用在資料屬性上設定的鍵/值組來構成廣告請求。廣告版位範例可能如下所示:

<amp-ad-custom
  width="320"
  height="50"
  src="http://www.my-ad-network.com"
  data-request-param-{param_1}="{val_1}"
  data-request-param-{param_2}="{val_2}"
  .
  .
  .
  data-request-param-{param_N}="{val_N}"
>
</amp-ad-custom>

產生的廣告請求網址會是:http://www.my-ad-network.com?{param_1}={val_1}&{param_2}={val_2}&...&{param_N}={val_N}

需要更多協助嗎?

您已將這份文件讀過十幾遍,但內容仍然沒有涵蓋您的所有問題嗎?也許其他人也有相同感受:請在 Stack Overflow 上與他們交流。

前往 Stack Overflow
發現錯誤或缺少功能嗎?

AMP 專案大力鼓勵您的參與和貢獻!我們希望您能成為我們開放原始碼社群的長期參與者,但我們也歡迎您針對特別感興趣的問題提供一次性的貢獻。

前往 GitHub