vuepress配置谷歌广告-通过vue-google-adsense库

在 VuePress 中可以使用 vue-google-adsense 插件来配置 Google AdSense 广告,这个库可以简化在 VuePress 项目中插入广告的过程。

以下是使用 vue-google-adsense 配置广告的步骤:

1. 安装 vue-google-adsense

在你的 VuePress 项目根目录下安装 vue-google-adsense

npm install vue-google-adsense

2. 配置 VuePress 插件

在 VuePress 项目的 .vuepress/config.js 文件中进行配置。通过 enhanceAppFiles 注入 Adsense 组件。

// .vuepress/config.js
module.exports = {plugins: [['vue-google-adsense',{adClient: 'ca-pub-7393013649146304', // 替换为你的广告客户 IDisNonPersonalizedAds: true, // 可选:是否显示非个性化广告},],],
}

3. 在 VuePress 页面中使用广告组件

在你的 VuePress 页面或 Markdown 文件中使用 Adsense 组件来插入广告:

# 我的页面标题这是页面内容的一部分。<Adsensestyle="display:block"data-ad-client="ca-pub-7393013649146304"data-ad-slot="9716578691"data-ad-format="auto"data-full-width-responsive="true"
/>

在 VuePress 中使用 Google AdSense 时,如果广告没有显示,可能存在以下一些常见问题和解决方案。以下是详细的检查步骤,确保广告能正常显示:

4. 确认 AdSense 账号和广告位的审核状态

  • 新账号和广告位审核:Google AdSense 的新账号和广告位通常需要审核一段时间,只有审核通过后广告才会显示。如果是新账号,建议先检查 AdSense 的后台,确保广告位已被批准。
  • 广告屏蔽:如果页面流量或内容不符合 AdSense 的政策,广告可能会被屏蔽。确保你的页面内容符合 AdSense 的政策。

5. 确保在 <head> 中加载了 AdSense 脚本

在 VuePress 的 .vuepress/public/index.html 文件的 <head> 标签中,确保正确加载了 adsbygoogle 脚本:

<!-- .vuepress/public/index.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Your Site Title</title><!-- AdSense Script --><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7393013649146304"crossorigin="anonymous"></script>
</head>
<body><div id="app"></div>
</body>
</html>

6. 使用 vue-google-adsense 插件并检查配置

确保在 .vuepress/config.js 中正确配置了 vue-google-adsense 插件。检查是否启用了非个性化广告(isNonPersonalizedAds)来提高显示率。

// .vuepress/config.js
module.exports = {plugins: [['vue-google-adsense',{adClient: 'ca-pub-7393013649146304', // 确保这个 ID 正确无误isNonPersonalizedAds: true,},],],
}

7. 插入 <Adsense> 组件并测试广告位置

在 Markdown 文件中插入 <Adsense> 组件,同时尝试在不同位置(如顶部或底部)查看是否显示。

# 示例文章标题一些文章内容。<Adsensestyle="display:block; text-align:center; margin: 20px 0;"data-ad-client="ca-pub-7393013649146304"data-ad-slot="9716578691"data-ad-format="auto"data-full-width-responsive="true"
/>继续其他内容。

8. 在 mounted 钩子中重新触发广告(解决 SPA 中的路由问题)

由于 VuePress 是单页面应用(SPA),广告可能不会在路由切换时自动加载。可以在 mounted 钩子中重新触发广告加载。

.vuepress/enhanceApp.js 中添加以下代码:

// .vuepress/enhanceApp.js
export default ({ router }) => {router.afterEach(() => {if (window.adsbygoogle) {(adsbygoogle = window.adsbygoogle || []).push({});}});
};

9. 使用隐私模式或清除缓存测试

有时,浏览器的广告屏蔽插件(如 AdBlock)或隐私模式可能会拦截广告内容。尝试在隐私模式中或禁用广告屏蔽插件后查看广告是否显示。

10. 等待 Google 缓存生效

广告的显示有时需要等待一段时间,因为 Google 可能会缓存广告请求。确保广告配置和代码已经部署到线上环境并等待数小时进行确认。

11. 使用控制台检查是否有错误

打开浏览器开发者工具的控制台,查看是否有相关的错误信息。若存在与 adsbygoogle 相关的错误信息,通常是脚本未加载或配置错误导致的。

经过这些检查后,广告应该能在 VuePress 中成功显示。若仍有问题,可以联系 Google AdSense 支持,确认是否有账号或广告配置方面的问题。

12. 注意事项

  • 合法使用广告:在 Google AdSense 中配置的广告客户 ID 和广告位 ID 要符合规范。
  • 样式控制:可以通过 style 属性控制广告的显示样式。
  • 路由重载广告:如果在单页面应用中切换路由,确保广告能在新页面重新加载,可以通过在 mounted 钩子中调用 (adsbygoogle = window.adsbygoogle || []).push({})

完成以上步骤后,VuePress 项目中就能成功显示 Google AdSense 广告。

最后vue-google-adsense的链接: https://www.npmjs.com/package/vue-google-adsense

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)

Git仓库 https://gitee.com/Lin_DH/system 介绍 使用 Thymeleaf 写的页面&#xff0c;将&#xff08;txt、jpg、png&#xff09;格式文件上传到 MySQL 数据库中。 依赖 pom.xml <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --><depende…

Sharding运行模式、元数据、持久化详解

运行模式 单机模式 能够将数据源和规则等元数据信息持久化&#xff0c;但无法将元数据同步至多个Sharding实例&#xff0c;无法在集群环境中相互感知。 通过某一实例更新元数据之后&#xff0c;会导致其他实例由于获取不到最新的元数据而产生不一致的错误。 适用于工程师在本…

挖掘web程序中的OAuth漏洞:利用redirect_uri和state参数接管账户

本文探讨了攻击者如何利用OAuth漏洞&#xff0c;重点是滥用redirect_uri和state参数以接管用户账户。如果redirect_uri参数验证不严&#xff0c;可能会导致未经授权的重定向到恶意服务器&#xff0c;从而使攻击者能够捕获敏感信息。同样&#xff0c;state参数的错误实现可能使O…

Python世界:力扣题解1712,将数组分成三个子数组的方案数,中等

Python世界&#xff1a;力扣题解1712&#xff1a;将数组分成三个子数组的方案数&#xff0c;中等 任务背景思路分析代码实现测试套件本文小结 任务背景 问题来自力扣题目1712. Ways to Split Array Into Three Subarrays&#xff0c;大意如下&#xff1a; A split of an intege…

Java集合基础——针对实习面试

目录 Java集合基础什么是Java集合&#xff1f;说说List,Set,Queue,Map的区别&#xff1f;说说List?说说Set?说说Map&#xff1f;说说Queue?为什么要用集合&#xff1f;如何选用集合&#xff1f; Java集合基础 什么是Java集合&#xff1f; Java集合&#xff08;Java Collect…

基于单片机的客车载客状况自动检测系统(论文+源码)

1系统整体设计 本课题为客车载客状况自动检测系统&#xff0c;在此以STM32单片机为核心控制器&#xff0c;结合压力传感器、红外传感器、蜂鸣器、语音提示模块、继电器、液晶等构成整个客车载客状况自动检测系统&#xff0c;整个系统架构如图2.1所示&#xff0c;在此通过两个红…

渗透测试(socket,namp,scapy)

socket:可以用来实现不同虚拟机或者不同计算机之间的通信。 socket常用函数&#xff1a; sock.bind(host,port) //host可接受client范围&#xff0c;以及连接的端口 sock.listen()//sever开启监听连接 sock.accpet()//返回 sock&#xff0c;addr 用来接受和发送数据 addr…

【mongodb】数据库的安装及连接初始化简明手册

NoSQL(NoSQL Not Only SQL )&#xff0c;意即"不仅仅是SQL"。 在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统&#xff08;RDBMS&#xff09;来处理。 通过应用实践证明&#xff0c;关系模型是非常适合于客户服务器…

内网对抗-信息收集篇SPN扫描DC定位角色区域定性服务探针安全防护凭据获取

知识点&#xff1a; 1、信息收集篇-网络架构-出网&角色&服务&成员 2、信息收集篇-安全防护-杀毒&防火墙&流量监控 3、信息收集篇-密码凭据-系统&工具&网站&网络域渗透的信息收集&#xff1a; 在攻防演练中&#xff0c;当完成边界突破后进入内…

OpenWebUI,RAG+外部知识库+AI写文的开源应用

引言 自从去年AI火起来之后&#xff0c;很多人便热衷于寻找适合自用的AI开源项目&#xff0c;把各家大模型API接入到自己的AI程序里&#xff0c;便可以通过AI辅助完成一系列日常任务&#xff0c;比如内容翻译/润色/总结/撰写、格式转换、数据分类、代码分析、角色扮演等等。 …

qt QErrorMessage详解

1、概述 QErrorMessage是Qt框架中用于显示错误消息的一个对话框类。它提供了一个简单的模态对话框&#xff0c;用于向用户显示错误或警告消息。QErrorMessage通常用于应用程序中&#xff0c;当需要向用户报告错误但不希望中断当前操作时。它提供了一个标准的错误消息界面&…

一文了解Android的Doze模式

Android 的 Doze 模式是一项省电功能&#xff0c;主要用于减少设备的功耗&#xff0c;特别是在屏幕关闭且设备长时间未被使用的情况下。Doze 模式在 Android 6.0&#xff08;API Level 23&#xff09;首次引入&#xff0c;并在后续版本中不断改进&#xff0c;以便更智能地管理后…

美团代付微信小程序系统 read.php 任意文件读取漏洞复现

0x01 产品简介 美团代付微信小程序系统是美团点评旗下的一款基于微信小程序技术开发的应用程序功能之一,它允许用户方便快捷地请求他人为自己支付订单费用。随着移动支付的普及和微信小程序的广泛应用,美团作为中国领先的本地生活服务平台,推出了代付功能,以满足用户多样化…

SpringBoot-员工管理系统(1)

目录 一、首页配置 二、国际化 2.1 配置文件编写 2.2 使配置文件生效 2.3 配置页面国际化值 2.4 实现根据按钮自动切换中英文 三、登录拦截器 一、首页配置 1、所有页面的静态资源都需要用thymeleaf接管 2、url使用{}格式 二、国际化 2.1 配置文件编写 1、在resourc…

JavaSE:初识Java(学习笔记)

java是高级语言的面向对象语言 .[最贴近生活.最快速分析和设计程序] 一&#xff0c;计算机语言发展历史 二&#xff0c;Java体系结构 1&#xff0c;JavaSE&#xff08;Java Standard Edition&#xff09; 标准版&#xff0c;定位在个人计算机上的应用 这个版本是Jav…

Android——多线程、线程通信、handler机制

Android——多线程、线程通信、handler机制 模拟网络请求&#xff0c;会阻塞主线程 private String getStringForNet() {StringBuilder stringBuilder new StringBuilder();for (int i 0; i < 100; i) {stringBuilder.append("字符串" i);}try {Thread.sleep(…

Jumpserver

概述 一款开源的堡垒机&#xff0c;可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作&#xff0c;是一款非常安全的远程连接工具。 4A 身份验证授权控制账号管理安全审计 安装 [rootjumpserver project]# tar -xf jumpserver-offline-installer-v2.28.6-amd64…

【专题】2024年全球生物医药交易报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38191 在当今复杂多变的全球经济环境下&#xff0c;医药行业正面临着诸多挑战与机遇。2024 年&#xff0c;医药行业的发展态势备受关注。 一方面&#xff0c;全球生物医药交易活跃&#xff0c;2021 - 2023 年的交易中&#xff0c;已…

统信UOS开发环境支持rust

集成了Rust编译器和包管理工具,支持系统级编程、网络应用等多场景,为开发者提供丰富的库支持。 文章目录 一、环境部署1. rust开发环境安装2. rust开发环境配置二、代码示例三、常见问题1. 借用和所有权问题2. 编译器错误和警告一、环境部署 1. rust开发环境安装 rust是一门…

Addressables资源打包(AA包)代码中改变远程地址

接着上一篇“Unity资源打包Addressable AA包” 还是先贴代码 LoadPath.cs 中定义一个远程服务器的地址&#xff0c;这个地址将来在代码中会修改 namespace HFS {public class LoadPath{public static string Path "http://172.18.216.168:6565/HFS/1/";} } 远程服…