在使用 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 個配置就可以禁用廣告了。