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.
Dopo aver creato un account, apri la console Firebase e seleziona un progetto esistente da utilizzare o creane uno nuovo per l'estensione.
Vai alla pagina delle impostazioni di 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.
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.