Google Adsense

在您的 Nuxt 应用中显示 Google Adsense 广告。

Google AdSense 允许您通过展示与内容相关的 Google 广告来实现网站的盈利。

Nuxt Scripts 提供:

  • useScriptGoogleAdsense:用于动态管理 Google AdSense 的组合函数。
  • <ScriptGoogleAdsense>:一个无头组件,用于将广告直接嵌入您的 Nuxt 应用。

全局配置

您可以在 nuxt.config.ts 中全局配置 Google AdSense,这样脚本将在所有页面自动加载。

nuxt.config.ts
export default defineNuxtConfig({
  scripts: {
    registry: {
      googleAdsense: {
        client: "ca-pub-<your-id>", // 您的 Google AdSense 发布者 ID
        autoAds: true, // 启用自动广告
      },
    },
  },
});

如何找到 <your-id>(发布者 ID)

您的 Google AdSense 发布者 ID(也称为 ca-pub-XXXXXXX)可以在您的 Google AdSense 账户中找到:

  1. 登录您的 Google AdSense 账户。
  2. 进入 账户 > 设置(点击您的头像图标 > “账户信息”)。
  3. 账户信息 下找到 发布者 ID
  4. 将上述配置中的 <your-id> 替换为您的实际 ID。
您也可以在 Google AdSense 控制台中管理 自动广告设置,以控制广告类型、广告位置及营收优化

站点所有权验证

自动插入 Meta 标签

如果提供了 client,页面将自动插入一个用于 Google 验证您站点所有权的 meta 标签

nuxt.config.ts
export default defineNuxtConfig({
  scripts: {
      registry: {
        googleAdsense: {
          client: "ca-pub-<your-id>", // AdSense 发布者 ID
        },
      },
  },
});

使用 ads.txt 进行验证

Google 建议添加 ads.txt 文件以确保广告收入资格

步骤:

  1. 新建文件:public/ads.txt
  2. 添加以下内容:
    google.com, pub-<your-id>, DIRECT, f08c47fec0942fa0
    
  3. <your-id> 替换为您的 AdSense 发布者 ID
为什么使用 ads.txt 它有助于防止广告欺诈,确保只有您的网站可以展示您的广告。

启用自动广告

自动广告允许 Google 自动投放广告,实现更优的优化

nuxt.config.ts
export default defineNuxtConfig({
  scripts: {
    registry: {
      googleAdsense: {
        client: "ca-pub-<your-id>", // AdSense 发布者 ID
        autoAds: true, // 启用自动广告
      },
    },
  },
});

使用 ScriptGoogleAdsense 组件

它提供了一种简单方式,将广告嵌入您的 Nuxt 应用。

<template>
  <ScriptGoogleAdsense
    data-ad-client="ca-pub-<your-id>"
    data-ad-slot="1234567890"
    data-ad-format="auto"
  />
</template>

组件属性

属性说明
data-ad-client您的 Google Adsense 发布者 IDca-pub-XXXXXXXXXX)。
data-ad-slot您的 广告位 ID(可在 AdSense 控制台获得)。
data-ad-format广告格式类型(autorectanglehorizontalverticalfluidautorelaxed)。
data-ad-layout布局(in-articlein-feedfixed)。
data-full-width-responsive设置为 true 可使广告响应式。

使用 data-ad-layout 的示例

若要为广告指定布局(如 “in-article”),可使用 data-ad-layout 属性:

<template>
  <ScriptGoogleAdsense
    data-ad-client="ca-pub-<your-id>"
    data-ad-slot="1234567890"
    data-ad-format="fluid"
    data-ad-layout="in-article"
  />
</template>

如何处理广告屏蔽程序?

如果用户启用了广告屏蔽程序,您可以显示备用内容

<template>
  <ScriptGoogleAdsense data-ad-client="ca-pub-..." data-ad-slot="...">
    <template #error>
      <!-- 备用内容 -->
      <p>请支持我们,关闭您的广告屏蔽程序。</p>
    </template>
  </ScriptGoogleAdsense>
</template>

使用 useScriptGoogleAdsense 组合函数

useScriptGoogleAdsense 组合函数允许您对 AdSense 脚本进行细粒度控制

export function useScriptGoogleAdsense<T extends GoogleAdsenseApi>(
  _options?: GoogleAdsenseInput
) {}

请参阅 Registry Scripts 指南 获取高级用法。

GoogleAdsenseApi 接口

该接口定义了 Google Adsense API 结构,增强 TypeScript 支持。

export interface GoogleAdsenseApi {
  adsbygoogle: any[] & { loaded: boolean };
}

GoogleAdsenseInput

您可以使用以下结构定义传给 useScriptGoogleAdsense 组合函数的输入选项:

export const GoogleAdsenseOptions = object({
  /**
   * Google Adsense 发布者 ID。
   */
  client: optional(string()),
  /**
   * 启用或禁用自动广告。
   */
  autoAds: optional(boolean()),
});
需要更多帮助?请查看官方 Google AdSense 指南