在使用 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 个配置就可以禁用广告了。 https://www.ossez.com/t/discourse-google-adsense/796