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), richiede la configurazione di un servizio esterno. Questa guida illustra tutti i passaggi necessari per farlo funzionare nella tua estensione.

Sebbene chrome.gcm sia ancora supportato, è stato creato oltre un decennio fa prima dello standard Push. In generale, è sempre buona norma utilizzare lo standard web anziché un'API specifica per le estensioni. A meno che tu non abbia un'esigenza specifica di utilizzare chrome.gcm, ti consigliamo di usare 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, apri la console Firebase e seleziona un progetto esistente da utilizzare o creane uno nuovo per l'estensione.

Screenshot delle schede dei progetti nella Console Firebase.
Schede dei progetti nella Console Firebase

Vai alla pagina delle impostazioni di 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 Cloud Messaging non è abilitato, devi attivare l'API Firebase Cloud Messaging per il progetto in Google Cloud. Nella seguente immagine, puoi vedere dove si trova un link diretto a questa pagina nelle impostazioni di Firebase.

Screenshot della posizione del link per attivare l'API Firebase Messaging in Google Cloud.
Apertura del link alle impostazioni di Google Cloud in Firebase

Una volta attivata, torna alla pagina delle impostazioni di Cloud messaging e copia l'ID mittente.

Configurare chrome.gcm

Ora che hai il tuo ID mittente Firebase, puoi configurare l'estensione per l'ascolto dei messaggi. Per iniziare, assicurati di aver aggiunto l'autorizzazione gcm 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 del codice per gestire i messaggi in arrivo.

Firebase senza Firebase

Anche se chrome.gcm passa sempre da Firebase, Firebase può essere configurato per fungere da proxy per i fornitori di servizi di messaggistica push esterni. In genere, i fornitori elencano esplicitamente il supporto per le estensioni di Chrome, ma qualsiasi fornitore che supporta le notifiche push precedenti di Firebase dovrebbe funzionare. Se il tuo provider elenca il supporto per le notifiche push precedenti di Firebase, provalo. Se riscontri problemi, l'assistenza dei fornitori dovrebbe essere in grado di chiarire eventuali restrizioni in vigore.

Su Canali e Argomenti

chrome.gcm utilizza le API Firebase Messaging legacy. Questo è importante perché l'API precedente non supporta i canali di messaggi. Ogni messaggio sottoposto a push andrà a tutti i client. Se l'estensione di un utente è interessata solo a un sottoinsieme di messaggi, dovrai applicare un filtro.

Anche se Firebase inizia come account senza costi, ti verrà addebitato un importo una volta superata una determinata soglia di utilizzo. Se prevedi di inviare messaggi a gruppi specifici, il filtraggio lato client potrebbe costare più del dovuto. Puoi risolvere il problema creando più progetti per replicare i singoli canali (un progetto e un ID mittente per ogni canale). Qualsiasi estensione può registrarsi per più ID mittente, fino a 100.

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