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 di cui hai bisogno da configurare. Questa procedura illustra tutti i passaggi necessari per riceverlo lavorando nella tua estensione.

chrome.gcm è ancora supportato, ma è stato creato oltre dieci anni fa. lo standard Push. In generale, la best practice prevede sempre di utilizzare anziché un'API specifica per l'estensione. A meno che tu non abbia un'esigenza specifica per utilizzare chrome.gcm, consigliamo di usare Push.

Prerequisiti

Per utilizzare chrome.gcm, devi configurare un Firebase .

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

Una volta creato un account, apri il tuo Firebase console Cloud e selezionare un progetto esistente da utilizzare o crearne uno nuovo per l'estensione.

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

Vai 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, copia l'ID mittente numerico elencato.

Se la messaggistica cloud non è abilitata, dovrai attivare Firebase API Cloud Messaging per il progetto all'interno di Google Cloud. Nel seguente immagine, puoi vedere dove c'è un link diretto a questa pagina impostazioni.

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

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

Configura chrome.gcm

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

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

Ora hai accesso all'API chrome.gcm. Puoi registrarti per ascoltare le notifiche push messaggi 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 in arrivo.

Firebase senza Firebase

Mentre chrome.gcm utilizza sempre Firebase, Firebase può essere configurato per agiscono da proxy per i fornitori di messaggi push esterni. Di solito i fornitori indicare esplicitamente il supporto delle estensioni di Chrome, ma qualsiasi fornitore che supporti Le notifiche push precedenti di Firebase dovrebbero funzionare. Se il tuo provider elenca per le notifiche push precedenti di Firebase, provalo. Se riscontri problemi, l'assistenza del provider deve essere in grado di chiarire eventuali restrizioni che sarebbero state applicate.

Su canali e argomenti

chrome.gcm utilizza le API Firebase Messaging legacy. È importante perché l'API precedente non supporta i canali di messaggistica. Ogni messaggio verrà inviato a ogni client. Se all'estensione di un utente interessa solo un un sottoinsieme di messaggi, dovrai filtrarli.

Anche se Firebase inizia come account senza costi, riceverai un addebito una volta superato un una determinata soglia di utilizzo. Se prevedi di inviare messaggi a gruppi specifici, il filtro lato client potrebbe costare più di quanto sia previsto. Puoi a risolvere il problema creando più progetti per replicare i singoli canali (un progetto e un ID mittente per ogni canale). Qualsiasi estensione può registrare più ID mittente, fino a un massimo di 100.

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