Met browser.gcm kun je berichten verzenden en ontvangen van eindgebruikers. Omdat het is gebouwd op Firebase Cloud Messaging (FCM), is het afhankelijk van een externe service die je moet instellen. Deze handleiding leidt je door alle noodzakelijke stappen om het in je extensie werkend te krijgen.
Hoewel browser.gcm nog steeds wordt ondersteund, is het meer dan tien jaar geleden ontwikkeld, vóór de Push- standaard. Over het algemeen is het altijd beter om de webstandaard te gebruiken in plaats van een extensiespecifieke API. Tenzij u een specifieke reden hebt om browser.gcm te gebruiken, raden we aan om Push te gebruiken.
Voorwaarden
Om browser.gcm te kunnen gebruiken, moet je een Firebase- account aanmaken.

Zodra je een account hebt aangemaakt, open je de Firebase-console en selecteer je een bestaand project om te gebruiken, of maak je een nieuw project aan voor je extensie.

Ga verder naar de instellingenpagina voor cloudberichten.

Als je al een cloudberichtenaccount hebt voor dit project, kopieer dan de numerieke afzender-ID die wordt weergegeven.
Als cloudberichten niet zijn ingeschakeld, moet u de Firebase Cloud Messaging API voor het project in Google Cloud inschakelen. In de onderstaande afbeelding ziet u een link naar deze pagina in de Firebase-instellingen.

Zodra deze functie is ingeschakeld, ga je terug naar de instellingenpagina voor Cloud Messaging en kopieer je de afzender-ID.
Configureer browser.gcm
Nu je je afzender-ID van Firebase hebt, kun je je extensie configureren om naar berichten te luisteren. Zorg er allereerst voor dat je de gcm toestemming hebt toegevoegd aan het manifest.json van je extensie.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Je hebt nu toegang tot de browser.gcm API. Je kunt je registreren om pushberichten te ontvangen door browser.gcm.register aan te roepen.
Luister naar berichten.
Zodra de extensie uw afzender-ID heeft geregistreerd, moet u code toevoegen om inkomende berichten af te handelen.
Firebase zonder Firebase
Hoewel browser.gcm altijd via Firebase loopt, kan Firebase worden geconfigureerd om als proxy te fungeren voor externe aanbieders van pushberichten. Aanbieders vermelden doorgaans expliciet ondersteuning voor Chrome-extensies, maar elke aanbieder die de oude pushmeldingen van Firebase ondersteunt, zou moeten werken. Als uw aanbieder ondersteuning biedt voor de oude pushmeldingen van Firebase, probeer het dan uit. Mocht u problemen ondervinden, dan kan de supportafdeling van de aanbieder u waarschijnlijk meer informatie geven over eventuele beperkingen.
Over kanalen en onderwerpen
browser.gcm maakt gebruik van de verouderde Firebase Messaging API's. Dit is belangrijk omdat de oude API geen ondersteuning biedt voor berichtkanalen . Elk verzonden bericht wordt naar elke client gestuurd. Als een gebruikersextensie alleen geïnteresseerd is in een subset van berichten, moet u zelf filteren.
Hoewel Firebase in eerste instantie een gratis account is, worden er kosten in rekening gebracht zodra je een bepaalde gebruikslimiet overschrijdt. Als je van plan bent berichten naar specifieke groepen te sturen, kunnen de kosten voor client-side filtering hoger uitvallen dan nodig. Je kunt dit omzeilen door meerdere projecten aan te maken om individuele kanalen te repliceren (één project en één afzender-ID voor elk kanaal). Elke extensie kan zich registreren voor meerdere afzender-ID's, tot wel 100.
Als alternatief kunt u, indien u kanaalondersteuning nodig hebt of pushmeldingen wilt gebruiken zonder Firebase te gebruiken, de Push API gebruiken.