Utilizzare Firebase Cloud Messaging (FCM) con chrome.gcm

Puoi inviare e ricevere messaggi agli utenti finali con chrome.gcm. Poiché si basa su Firebase Cloud Messaging (FCM), si basa su un servizio esterno che devi configurare. Questa procedura ti guida in tutti i passaggi necessari per far sì che funzioni nella tua estensione.

Sebbene chrome.gcm sia ancora supportato, è stato creato oltre dieci anni fa prima dello standard Push. In generale, la best practice prevede sempre l'uso dello standard web, anziché di un'API specifica per l'estensione. A meno che tu non abbia bisogno di utilizzare chrome.gcm in modo specifico, ti consigliamo di utilizzare Push.

Prerequisiti

Per utilizzare chrome.gcm, devi configurare un account Firebase.

Home page di Firebase.com.
Home page di Firebase.com

Dopo aver creato un account, ti consigliamo di aprire la console Firebase e selezionare un progetto esistente da utilizzare o crearne uno nuovo per l'estensione.

Screenshot delle schede dei progetti nella console Firebase.
Schede di progetti nella console Firebase

Continua alla pagina delle impostazioni per Cloud Messaging.

Screenshot di una pagina delle impostazioni di Firebase Cloud Messaging.
Pagina delle impostazioni di Firebase Cloud Messaging

Se hai già un account di messaggistica cloud in questo progetto, vuoi copiare l'ID mittente numerico elencato.

Se non hai abilitato la messaggistica cloud, devi abilitare l'API Firebase Cloud Messaging per il progetto all'interno di Google Cloud. Nell'immagine seguente, puoi vedere dove c'è un link direttamente a questa pagina nelle impostazioni di Firebase.

Screenshot del percorso del link per abilitare l'API Firebase Messaging in Google Cloud.
Apertura del link delle impostazioni di Google Cloud in Firebase

Una volta abilitato, torna alla pagina delle impostazioni per Cloud Messaggistica e copia l'ID mittente.

Configura chrome.gcm

Ora che disponi del tuo ID mittente di Firebase, puoi configurare l'estensione per ascoltare i messaggi. Per iniziare, assicurati di aver aggiunto l'autorizzazione gcm al manifest.json della tua estensione

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

Ora hai accesso all'API chrome.gcm. Puoi registrarti per ascoltare i messaggi push chiamando il numero chrome.gcm.register

Ascolto di messaggi

Una volta che l'estensione ha registrato il tuo ID mittente, devi aggiungere il codice per gestire i messaggi in arrivo.

Firebase senza Firebase

Sebbene chrome.gcm passi sempre attraverso Firebase, Firebase può essere configurato per fungere da proxy per fornitori di messaggi push esterni. In genere, i fornitori elencano esplicitamente il supporto delle estensioni di Chrome, tuttavia qualsiasi fornitore che supporta le notifiche push legacy di Firebase dovrebbe funzionare. Se il tuo provider elenca il supporto per le notifiche push precedenti di Firebase, prova. In caso di problemi, l'assistenza dei fornitori dovrebbe essere in grado di chiarire eventuali limitazioni in vigore.

Su canali e argomenti

chrome.gcm sta utilizzando le API Firebase Messaging precedenti. Questo è importante perché l'API precedente non supporta i canali di messaggistica. Ogni messaggio inviato sarà inviato a ciascun client. Se l'estensione di un utente è interessata solo a un sottoinsieme di messaggi, dovrai filtrare tu stesso i filtri.

Sebbene Firebase sia inizialmente un account senza costi, ti verrà addebitato un costo al superamento di una determinata soglia di utilizzo. Se prevedi di inviare messaggi a gruppi specifici, il filtro lato client potrebbe costare di più di quanto non sia giustificato. Puoi risolvere questo problema creando più progetti per replicare singoli canali (un progetto e un ID mittente per ogni canale). Ogni estensione può registrarsi per più ID mittente, fino a un massimo di 100.

In alternativa, se hai bisogno di supporto per i canali o vuoi utilizzare le notifiche push senza passare per Firebase, puoi usare l'API Push.