透過範例瞭解基本概念

以下指南將進一步說明如何顯示測試廣告,並介紹更多基本概念,讓您充分運用 Google 發布商廣告代碼 (GPT) 程式庫。這些概念包括:

  • 廣告大小
  • 指定鍵/值
  • 單一請求架構

載入 GPT 程式庫

首先載入並初始化 GPT 程式庫。將以下內容新增至 HTML 文件的 <head>

<script
  async
  src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"
  crossorigin="anonymous"
></script>
<script>
  window.googletag = window.googletag || { cmd: [] };

  googletag.cmd.push(() => {

  });
</script>

這會載入 GPT 程式庫,並初始化 googletagCommandArray 物件。初始化這些物件後,您就能立即開始使用 GPT 指令陣列。將下列 JavaScript 程式碼新增至此程式碼片段中定義的空白函式主體。

定義廣告版位

載入 GPT 後,您可以定義廣告版位。以下範例定義了三個廣告插槽,並使用不同的廣告格式、大小和指定目標選項。

固定大小廣告版位

以下是簡單的固定大小廣告版位:

// Define a fixed size ad slot, customized with key-value targeting.
googletag
  .defineSlot("/6355419/Travel/Asia", [728, 90], "banner-ad")
  .addService(googletag.pubads())
  .setTargeting("color", "red")
  .setTargeting("position", "atf");

除了廣告單元路徑、大小和容器 <div> ID 外,這個程式碼片段還會指定多個指定對象選項。這些選項會限制和區分可放送至這個版位的廣告。進一步瞭解鍵/值指定目標

錨定廣告版位

以下是附加至可視區底部的錨定廣告版位:

// Define an anchor ad slot that sticks to the bottom of the viewport.
const anchorSlot = googletag.defineOutOfPageSlot(
  "/6355419/Travel",
  googletag.enums.OutOfPageFormat.BOTTOM_ANCHOR,
);

// The slot will be null if the page or device does not support anchors.
if (anchorSlot) {
  anchorSlot.setTargeting("test", "anchor").addService(googletag.pubads());

  document.getElementById("status").textContent =
    "Anchor ad is initialized. Scroll page to activate.";
}

錨定版位是一種非頁面格式,會使用 defineOutOfPageSlot 方法定義,而非一般 defineSlot 方法。進一步瞭解非頁內廣告素材

非頁面格式通常會限制可放送的網頁類型和裝置。由於有這些限制,您必須先確認可成功定義的空白,才能與其互動。詳情請參閱「顯示錨定廣告」範例。

彈性廣告版位

以下是原生廣告的自動調整大小廣告位址:

// Define a fluid ad slot that fills the width of the enclosing column and
// adjusts the height as defined by the native creative delivered.
googletag
  .defineSlot("/6355419/Travel", ["fluid"], "native-ad")
  .addService(googletag.pubads());

自動調整廣告版位沒有固定大小。流動廣告插槽會根據廣告的廣告素材內容進行調整。您可以使用 fluid 大小選項定義自動調整廣告版位。進一步瞭解廣告大小和可用的大小選項

調整網頁層級設定

某些 GPT 設定選項會全域套用,而非套用至特定廣告版位。這類設定稱為網頁層級設定。

以下是如何設定網頁層級設定的範例:

// Configure page-level targeting.
googletag.pubads().setTargeting("interests", "basketball");

// Enable SRA and services.
googletag.pubads().enableSingleRequest();
googletag.enableServices();

這個程式碼片段會執行三項工作:

  1. 設定網頁層級指定目標選項,這些選項會套用至網頁上的每個廣告版位。
  2. 啟用單一請求架構 (SRA) 模式,將多個廣告版位的請求合併為單一廣告請求。請務必啟用 SRA,才能確保競爭排除條件和路障型廣告的效能。如要進一步瞭解如何正確使用 SRA,請參閱相關說明。
  3. 啟用與廣告版位相關聯的服務,允許放送廣告請求。

多媒體廣告

最後,請在頁面的 <body> 中加入以下程式碼片段:

<div class="page-content centered">
  <div id="banner-ad" style="width: 728px; height: 90px"></div>
  <!--
  If the following status is displayed when the page is rendered, try
  loading the page in a new window or on a different device.
-->
  <h1 id="status">Anchor ads are not supported on this page.</h1>
  <!--
  Spacer used for example purposes only. This positions the native ad
  container below the fold to encourage scrolling.
-->
  <div class="spacer"></div>
  <div id="native-ad" class="native-slot"></div>
</div>
<script>
  googletag.cmd.push(() => {
    // Request and render all previously defined ad slots.
    googletag.display("banner-ad");
  });
</script>

這會定義兩個廣告版位容器:banner-adnative-ad。這些容器 id 值對應至您在本範例中先前定義廣告插槽時提供的值。

定義所有廣告版位後,系統就會呼叫 banner-ad 顯示廣告。由於已啟用單一請求架構,這個單一顯示呼叫會要求並算繪至此為止定義的所有廣告版位。如有需要,您可以啟用 SRA,更精確地控管廣告載入和重新整理,以及批次處理行為

完整範例

以下是本指南所依據的範例網頁的完整原始碼。您也可以查看這個頁面的互動式示範

JavaScript

TypeScript