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.
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.
Continua alla pagina delle impostazioni per 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.
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.