Discourse 安装 Google Adsense

在使用 Discourse 进行服务的时候,很多人可能会希望安装一些广告服务。

对 Discourse 的广告服务来说还是可以的,因为广告服务的位置不是非常影响阅读。

这篇文章将会描述如何在 Discourse 中提供广告服务。

安装插件

Discourse 的 Google Adsense 广告服务是使用插件进行安装的。

安装插件的方法,请参考: Install Plugins in Discourse - admins - Discourse Meta 页面中的内容。

有关启用广告服务的文章,请参考页面:Official Advertising / Ad Plugin for Discourse - plugin - Discourse Meta 中的内容。

广告服务的源代码,请参考: GitHub - discourse/discourse-adplugin: Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum 代码仓库。

安装代码

根据提示,你首先需要添加插件代码,然后对 Discourse 进行重编译。

编辑 app.yml 文件,如果你有多个仓库,你可以进行添加在下面。

如下:

sudo -E -u discourse git clone https://github.com/discourse/discourse-adplugin.git

添加后进行保存。

然后依次运行下面的命令,对插件进行重编译:

cd /var/discourse
./launcher rebuild app

这个编译需要一些时间,你需要耐心等待编译的完成。

必要的话,你可以重新启动你的 Docker 的容器。

启动的命令为:

systemctl restart docker

确定安装

通过管理员控制台查看插件。

以编译确定你的插件已经被安装了。

通过上面安装的插件,你应该可以在插件部分找到已经安装的 ad 插件。

然后单击 插件右侧的设置。

可以进入到插件的配置界面中。

在插件的配置界面中,你需要对上面的一些插件配置进行配置。

需要配置的参数为: adsense publisher code 和 adsense topic list top code

这 2 个参数可以从你google Adsense 中找到。

登录 Google Adsense 账号,从左侧选项 Ads 下面的 Overview,然后选择你的广告中的 By ad Unit。

在这里,你可以看到所有你安装的广告列表。

然后选择一个你的广告。不建议选择固定格式的,建议选择 Responsive 格式的。

然后可以选择查看代码。

在查看的代码中你可以看到 data-ad-client 和 data-ad-slot 参数,这个 2 个参数就是你需要的值。

Discourse 中的 adsense publisher code 使用的是你代码中 ca-pub 开头的配置,在这里不需要输入 ca-pub-,你只需要输入这个配置后面的数字就可以了。

Discourse 中的 adsense topic list top code 使用的是你代码中 data-ad-slot 中配置参数后面的数字。

在这里,需要注意的是这 2 个字段都需要输入的是数字。

保存后再次访问 Discourse 网站。

广告被屏蔽

广告有可能被 Discourse 的安全配置所屏蔽而导致你没有办法进行查看。

在 Discourse 中搜索关键字 CSP ,然后选择安全。

你需要启用 CSP,同时还需要将 https 添加到你的安全选项中。

上图显示的是需要修改的安全选项。

下图显示的是修改安全选项的路径。

这个安全选项是在设置中的安全选项下面。

这个页面比较长,你需要拖动到页面中才可以看到。

校验安装

使用不同的浏览器或者清理掉当前浏览器的缓存后再次访问你的 Discourse 网站。

如果你能够看到你广告的展现,则说明配置已经成功了。

通过上面的配置我们已经可以看到展现的内容了。

如果你想取消广告,你可以将上上面的配置恢复默认,不输入上面提到的 2 个配置就可以禁用广告了。