透過 100 多個訣竅學習 Nuxt!

google-adsense
@nuxtjs/google-adsense

Nuxt 的 Google AdSense 模組

npm versionnpm downloadsLicenseNuxt


注意:此分支適用於與 Nuxt 3 相容的模組。若要支援 Nuxt 2,請查看 legacy-v2 分支


Google AdSense

用於 Nuxt.js 的 Google AdSense 整合。廣告會在頁面路由變更時更新

設定

  • 使用 yarn 或 npm 將 @nuxtjs/google-adsense 相依性新增至您的專案
  • @nuxtjs/google-adsense 新增至 nuxt.config.jsmodules 區段
{
  modules: [
    // Simple usage
    ['@nuxtjs/google-adsense', {
      id: 'ca-pub-###########'
    }]
 ]
}

使用頂層選項

{
  modules: [
    ['@nuxtjs/google-adsense']
  ],

 googleAdsense: {
    id: 'ca-pub-#########'
  }
}

使用執行階段設定

{
  modules: [
    ['@nuxtjs/google-adsense']
  ],

  googleAdsense: {
    onPageLoad: false,
    pageLevelAds: false,
  },

  publicRuntimeConfig: {
    googleAdsense: {
      id: process.env.GOOGLE_ADSENSE_ID,
      test: process.env.GOOGLE_ADSENSE_TEST_MODE === 'true',
    },
  },
}

非同步廣告程式碼 (//127.0.0.1/pagead/js/adsbygoogle.js) 會自動新增至您頁面的 <head> 區段。

組態選項

選項類型描述
id字串您的 Google AdSense 發佈商用戶端 ID (例如 ca-pub-#########)。在非測試模式下為必填
adFormat字串設定全域預設廣告格式。可使用元件屬性覆寫。
analyticsDomainName字串Google Analytics 帳戶網域 (如果將分析與 AdSense 連結,例如 example.com)。
analyticsUacct字串Google Analytics 帳戶 ID (如果將分析與 AdSense 連結,例如 UA-#######-#)。
hideFilled布林值false 時,未填滿的廣告不會隱藏,當 true 時,未填滿的廣告會隱藏。預設值為 false
includeQuery布林值false 時,只會檢查 $route.path 的變更。如果設定為 true,也會將 $route.query 納入考量。預設值為 false
onPageLoad布林值在頁面載入後載入 Adsense 指令碼。預設值為 false
overlayBottom布林值啟用 AdSense 錨定廣告在底部顯示。預設值為 false。詳細資訊請參閱 AdSense 文件。
pageLevelAds布林值啟用 AdSense 頁面層級廣告。預設值為 false。詳細資訊請參閱 AdSense 文件。
pauseOnLoad布林值暫停廣告請求,以根據 GDPR 取得使用者同意使用 Cookie 或其他本機儲存空間。詳細資訊請參閱 AdSense 文件。false
tag字串AdSense 元件標籤名稱。預設值為 adsbygoogle
test布林值強制 AdSense 進入測試模式 (請參閱下方)。

測試模式

當在 dev 模式中執行 Nuxt 時,AdSense 模組會自動切換至 test 模式。但是,您可以將組態選項 test 設定為 true,以在生產環境中保持測試模式。

測試模式使用測試發佈商 ID,因此您不會違反 AdSense TOS。

請注意,測試廣告通常會顯示為空白空間,但會具有正確的尺寸 (亦即會佔用呈現廣告所需的正確空間)。

用法

<Adsbygoogle /> 元件插入您想要放置廣告的任何位置。

您應該將 <Adsbygoogle /> 元件放置在具有指定 (最小/最大) 寬度和 (最小/最大) 高度的容器元素內 (這可以基於媒體查詢),或在 <Adsbygoogle /> 元件上使用樣式或類別,將廣告限制為特定大小 (或多個大小)。

使用 ad-slot 屬性來指定您的 Google AdSense 廣告版位值 (指定為字串)。

請參閱 adsense 文件以取得更多資訊。Google Adsense 文件

元件屬性

屬性類型描述
ad-slot字串Google Adsense 廣告版位。在非測試模式下,此屬性為必填。請參閱您的 AdSense 帳戶以取得廣告版位值。
ad-format字串選用。請參閱 AdSense 文件以取得其他選項
ad-style物件要套用至呈現的 <ins> 元素的樣式。預設值:{ display: 'block' }。請參閱 VueJS 樣式繫結文件以取得物件格式。
ad-layout字串選用。請參閱 AdSense 文件
ad-layout-key字串選用。請參閱 AdSense 文件
hide-unfilled布林值選用。如果為 true,則隱藏未填滿的廣告。
page-url字串選用。如果廣告位於需要驗證的頁面上,請設定參考頁面 URL (具有類似內容)。設定後,此屬性必須是完整合格的 URL (包含通訊協定和主機名稱)。
include-query布林值在每個廣告的基礎上覆寫全域選項 includeQuery。請確保頁面上所有廣告都具有相同的設定。
analytics-uacct字串Google Analytics 帳戶 ID (如果將分析與 AdSense 連結,例如 UA-#######-#)。預設值為外掛程式選項 analyticsUacct 中指定的值。
analytics-domain-name字串Google Analytics 帳戶網域 (如果將分析與 AdSense 連結,例如 example.com)。預設值為外掛程式選項 analyticsDomainName 中指定的值。

元件公開的內部資料 | 名稱 | 類型 | 描述 | ____ | ____ | ___________ |showAd | 方法 | 觸發顯示廣告的方法來顯示廣告。 | updateAd | 方法 | 觸發更新廣告的方法來重新整理廣告。 | isUnfilled | 計算參考 | 追蹤廣告元素上的未填滿屬性。如果 data-ad-state = 'unfilled',則傳回 true

廣告自動更新

每當您的路由變更,或選擇性地在您的路由查詢參數變更時,任何顯示的廣告都會更新,就像在正常頁面載入時一樣。

注意事項

  • 注意:任意重新載入廣告 (頁面內容變更很少) 可能會導致您的 AdSense 帳戶遭到停權。請參閱 AdSense 以取得完整的使用條款。
  • Google 需要檢索每個顯示廣告的頁面。請確保您的網站 SSR 會呈現任何顯示廣告的頁面。未檢索頁面上的廣告將不會顯示。
  • 將廣告放置在需要驗證的頁面上時,請將 <Adsbygoogle /> 元件上的 page-url 設定為您網站上可公開存取的頁面 URL,該頁面應具有類似/相關內容。

背景

此模組使用 Angular 團隊 (在 Google AdSense 的協助下) 開發的技術,以處理漸進式 Web 應用程式上的廣告更新

每次請求新廣告時,AdSense 參數 data-ad-region 都會更新為隨機值。因此,您無法在 <Adsbygoogle /> 元件上設定 data-ad-region 屬性。

授權

MIT 授權