Puoi inviare e ricevere messaggi agli utenti finali con browser.gcm. Poiché si basa su Firebase Cloud Messaging (FCM), si affida a un servizio esterno che devi configurare. Questa guida illustra tutti i passaggi necessari per farla funzionare nella tua estensione.
Sebbene browser.gcm sia ancora supportato, è stato creato oltre un decennio fa, prima dello standard Push. In generale, è sempre consigliabile utilizzare lo standard web
anziché un'API specifica dell'estensione. A meno che tu non abbia un'esigenza specifica
di utilizzare browser.gcm, ti consigliamo di utilizzare Push.
Prerequisiti
Per utilizzare browser.gcm, devi configurare un account Firebase.
Una volta creato un account, apri la console Firebase e seleziona un progetto esistente da utilizzare o creane uno nuovo per la tua estensione.
Continua alla pagina delle impostazioni per Cloud Messaging.
Se hai un account di messaggistica cloud esistente in questo progetto, copia l'ID mittente numerico elencato.
Se non hai attivato la messaggistica cloud, devi abilitare l'API Firebase Cloud Messaging per il progetto in Google Cloud. Nell'immagine seguente puoi vedere dove si trova un link diretto a questa pagina nelle impostazioni di Firebase.
Una volta attivato, torna alla pagina delle impostazioni di Cloud Messaging e copia l'ID mittente.
Configurare browser.gcm
Ora che hai l'ID mittente da Firebase, puoi configurare l'estensione
per ascoltare i messaggi. Per iniziare, assicurati di aver aggiunto l'autorizzazione gcm
al file manifest.json della tua estensione.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Ora hai accesso all'API browser.gcm. Puoi registrarti per ascoltare i messaggi
push chiamando il numero browser.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
browser.gcm passa sempre attraverso Firebase, ma Firebase può essere configurato per
fungere da proxy per fornitori esterni di messaggistica push. In genere i fornitori elencano
esplicitamente il supporto delle estensioni di Chrome, ma qualsiasi fornitore che supporti
le notifiche push legacy di Firebase dovrebbe funzionare. Se il tuo provider elenca
il supporto per le notifiche push legacy di Firebase, provalo. In caso di problemi, l'assistenza dei provider dovrebbe essere in grado di chiarire eventuali restrizioni in vigore.
Informazioni su canali e argomenti
browser.gcm utilizza le API Firebase Messaging legacy. Questo è importante
perché l'API legacy non supporta i canali di messaggistica. Ogni messaggio
push verrà inviato a ogni client. Se l'estensione di un utente è interessata solo a un
sottoinsieme di messaggi, dovrai filtrare tu stesso.
Anche se Firebase inizia come account senza costi, ti verrà addebitato un costo una volta superata una determinata soglia di utilizzo. Se prevedi di inviare messaggi a gruppi specifici, il filtraggio lato client potrebbe finire per costare più di quanto sia giustificato. Puoi aggirare questo problema creando più progetti per replicare i singoli canali (un progetto e un ID mittente per ogni canale). Una determinata estensione può registrarsi per più ID mittente, fino a 100.
In alternativa, se hai bisogno del supporto dei canali o vuoi utilizzare le notifiche push senza passare per Firebase, puoi utilizzare l'API Push.