您可以使用 chrome.gcm 傳送及接收訊息給使用者。由於它以 Firebase 雲端通訊 (FCM) 為基礎,因此您必須設定外部服務。以下操作說明會逐步引導您完成所有必要步驟,以便在擴充功能中順利運作。
雖然 chrome.gcm
支援,但其建立時間超過十年前,就在推送標準開始。一般來說,最佳做法一律使用網路標準,而非擴充功能專用的 API。除非有使用 chrome.gcm
的特定需求,否則建議您使用「推送」。
必要條件
如要使用 chrome.gcm
,您必須設定 Firebase 帳戶。
建立帳戶後,請開啟 Firebase 控制台,選取要使用的現有專案,或是新建一個用於擴充功能的專案。
繼續前往雲端通訊的設定頁面。
如果這項專案已有雲端通訊帳戶,您需要複製列出的寄件者 ID。
若您尚未啟用雲端通訊,您必須在 Google Cloud 中的專案啟用 Firebase Cloud Messaging API。在下圖中,您可以看到在 Firebase 設定中直接連至此頁面的連結。
啟用後,請返回雲端通訊的設定頁面,然後複製傳送者 ID。
設定 chrome.gcm
現在您已取得來自 Firebase 的寄件者 ID,您可以設定擴充功能來監聽訊息。一開始,請確認已將 gcm
權限新增至擴充功能的 manifest.json
{
"manifest_version": 3,
...
"permissions": ["gcm"]
你現在可以使用 chrome.gcm
API 了。您可以呼叫 chrome.gcm.register
來註冊以監聽推送訊息
監聽訊息
擴充功能註冊傳送者 ID 後,您必須新增程式碼來處理收到的訊息。
Firebase 不含 Firebase
雖然 chrome.gcm
一律會透過 Firebase,但您可以將 Firebase 設為外部推送訊息供應商的 Proxy。供應商通常會明確列出對 Chrome 擴充功能的支援,但任何支援 Firebase 舊版推播通知的供應商都應能正常運作。如果您的供應商列出 Firebase 舊版推播通知的支援,請試用看看。如果遇到問題,供應商支援團隊應能釐清會有哪些限制。
精選頻道和主題
chrome.gcm
正在使用舊版 Firebase Messaging API。由於舊版 API 不支援訊息管道,因此這一點非常重要。推送的每則訊息都會傳送至每個用戶端。如果使用者的擴充功能僅對一小部分訊息感興趣,您就必須自行篩選。
Firebase 原本可設為免費帳戶,但系統會在用量超過特定用量門檻時向您收費。如果您打算傳送訊息給特定群組,用戶端篩選的最終費用可能會超出預期的費用。如要解決這個問題,您可以建立多個專案來複製個別管道 (每個管道一個專案和一個寄件者 ID)。任何指定的擴充功能都可以註冊多個寄件者 ID,上限為 100。
此外,如果您需要管道支援,或想在不透過 Firebase 的情況下使用推播通知,可以使用 Push API。