AMP 和廣告

在本主題中,您將學習如何使用使用 AMP 的 Brightcove 播放器顯示廣告。您還將學習如何通過 Brightcove Player/AMP 配置使用客戶端同意。

簡介

包括前置廣告在內的廣告在 AMP 中使用的播放器中有效。廣告插件及其配置只需要包含在播放器的配置中。對於使用靜態廣告代碼的基本設置,請按照靜態廣告代碼的基本設置本文檔中的部分。

通常您會希望使用宏將動態信息添加到廣告調用中。有關使用此技術的信息,請參閱在廣告調用中使用宏本文檔中的部分。

在 AMP 中,您可以使用客戶端同意,為用戶提供對其在線體驗的額外控制。見AMP 許可和廣告本文檔中的部分以獲取更多信息。

請注意,AMP 對於可以添加到有效 AMP 頁面的內容非常嚴格,詳見AMP 使用視頻雲視頻文檔。例如,您不能使用添加一個idamp-brightcove標記然後使用script塊配置,例如,IMA3 插件。因此,廣告必須在播放器的配置中實現,使用 Studio 或播放器管理 API。

靜態廣告代碼的基本設置

要使用靜態廣告代碼配置播放器,您必須執行以下操作:

  1. 創建播放器。
  2. 使用靜態廣告代碼配置廣告,如中所示循序漸進的第 1-15 步:實施廣告文件。
  3. 配置您的播放器以使用 AMP,如上半部分所示AMP 使用視頻雲視頻文檔。

一旦您將 AMP 播放器代碼放在頁面上,廣告就會與您的視頻一起播放。

在廣告調用中使用宏

如果您需要在廣告服務器調用中包含特定於文章的值,您可以將自定義數據傳遞給播放器插件。視頻元數據的宏,例如{mediainfo.tags}可以正常使用。(有關視頻元數據宏的完整列表,請參閱廣告宏和 serverUrl使用 IMA3 插件投放廣告文檔。)但是使用{pageVariable.*}宏,AMP 需要一些額外的步驟,因為 AMP 播放器位於 iframe 中。

首先,配置播放器解析查詢參數,使用 Brightcove 播放器的query_string_to_window配置選項。要將所有查詢字符串參數添加到全局命名空間,請將以下內容添加到您的播放器配置中:

    "query_string_to_window": {
      "target": "qsParams"
    }

注意參數 name 是存儲參數的對象。您可以根據自己的選擇更改名稱,在這種情況下,稍後您可以更改宏中使用的名稱。

接下來,要傳遞數據,添加盡可能多的數據參數-*根據需要的參數<amp-brightcove>嵌入代碼。例如:

data-param-ad-id="prerollonly"
data-param-site-section="celebrity"
data-param-post-id="A12345"

現在,在播放器的 iframe 中,額外數據可用作目標對象的駝峰式屬性:

window.qsParams.adId
window.qsParams.siteSection
window.qsParams.postId

這些可以用在{pageVariable.*}廣告配置中的宏(添加回車以提高可讀性):

https://ads.example.com/ad?ad={pageVariable.qsParams.adId}
    &video={mediainfo.id}&article={pageVariable.qsParams.postId}
    &section={pageVariable.qsParams.siteSection}

有關使用播放器管理 API 更新播放器配置的具體說明,請參閱播放器配置 - 更新播放器配置 .

在 AMP 中,您可以使用客戶端同意,為用戶提供對其在線體驗的額外控制。如果您的 AMP 頁面通過 AMP 同意管理用戶同意,並且您在播放器中使用廣告,那麼您可能希望根據該同意調整播放器的廣告請求。通過添加一個

同意數據塊 =「_ 分析響應」
屬性到 amp-brightcove 元素。這會導致播放器加載延遲,直到用戶接受或拒絕同意。在已知同意的後續頁面上,播放器會正常加載而不會延遲。

廣告配置

實施廣告和 AMP 的最簡單方案是使用 Brightcove Player 的標準 IMA 廣告與 Google Ad Manager 的集成,它期望npa=1在未知或未給予同意的情況下添加到廣告請求中。為此,添加

“imaAddNpa”:真

添加到播放器的 AMP 支持插件的選項中,這會自動添加到廣告服務器 URL,如下所示:

插件配置

對於廣告服務器 URL 的其他更改,同意狀態是在播放器的 iframe 上使用三個查詢參數設置的:

  • ampInitialConsentState :同意是否被接受、拒絕、未知
  • ampConsentSharedData :來自同意供應商的 JSON 數據字符串
  • ampInitialConsentValue :來自同意供應商的同意字符串

同意狀態是 AMP 中定義的整數:

  • 充足的:1
  • 不足的:2
  • UNKNOWN_NOT_REQUIRED:3
  • 未知:4

要更新播放器配置以使播放器 iframe 的查詢參數作為簡單的 Javascript 變量可用,請將以下內容添加到 JSON 編輯器中的播放器配置:

“query_string_to_window”:{“目標”:“queryStringParams”}

如需幫助,這裡是 UI 的屏幕截圖:

JSON 編輯器

然後,您可以在廣告服務器請求中使用同意查詢參數,方法是使用宏或將 severURL 配置為函數。

宏示例

“adserverURL”:“https://ads.example.com/ad?consent={pageVariable.queryStringParams.ampInitialConsentState}&consentString={pageVariable.queryStringParams.ampInitialConsentValue}”

函數示例

使用以下命令在沒有廣告服務器 URL 的情況下配置播放器:

videojs.registerPlugin('setAdUrl', function() {
  this.ima3.settings.serverUrl = function(callback) {
    如果 (window.queryStringParams.ampInitialConsentState === '1') {
      // 足夠的同意
      回調('https://ads.example.com/adwithconsent?string={pageVariable.queryStringParams.ampInitialConsentValue}');
    }其他{
      // 使用不同的廣告
      回調('https://ads.example.com/basicad');
    }
});