Mit chrome.gcm können Sie Nachrichten an Endnutzer senden und von ihnen empfangen. Da die Funktion auf Firebase Cloud Messaging (FCM) basiert, ist ein externer Dienst erforderlich, den Sie einrichten müssen. In dieser Anleitung werden alle erforderlichen Schritte erläutert, damit die Funktion in Ihrer Erweiterung funktioniert.
chrome.gcm
wird zwar noch unterstützt, wurde aber vor mehr als einem Jahrzehnt vor dem Push-Standard erstellt. Generell empfiehlt es sich, den Webstandard anstelle einer erweiterungsspezifischen API zu verwenden. Sofern Sie chrome.gcm
nicht verwenden müssen, empfehlen wir die Verwendung von Push.
Vorbereitung
Zur Verwendung von chrome.gcm
müssen Sie ein Firebase-Konto einrichten.
Nachdem Sie ein Konto erstellt haben, öffnen Sie die Firebase Console und wählen Sie ein vorhandenes Projekt aus oder erstellen Sie ein neues für Ihre Erweiterung.
Rufen Sie die Seite mit den Einstellungen für Cloud Messaging auf.
Wenn Sie bereits ein Cloud Messaging-Konto für dieses Projekt haben, kopieren Sie die angegebene numerische Absender-ID.
Wenn Cloud Messaging nicht aktiviert ist, müssen Sie die Firebase Cloud Messaging API für das Projekt in Google Cloud aktivieren. Auf dem folgenden Bild ist zu sehen, wo sich in den Firebase-Einstellungen ein Link direkt zu dieser Seite befindet.
Kehren Sie nach der Aktivierung zur Seite mit den Einstellungen für Cloud Messaging zurück und kopieren Sie die Absender-ID.
chrome.gcm konfigurieren
Nachdem Sie die Absender-ID von Firebase erhalten haben, können Sie Ihre Erweiterung so konfigurieren, dass sie auf Nachrichten wartet. Stellen Sie zuerst sicher, dass Sie dem manifest.json
Ihrer Erweiterung die Berechtigung gcm
hinzugefügt haben.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Sie haben jetzt Zugriff auf die chrome.gcm
API. Sie können sich registrieren, um Push-Nachrichten zu empfangen, indem Sie chrome.gcm.register
aufrufen.
Auf Nachrichten achten
Sobald die Erweiterung Ihre Absender-ID registriert hat, müssen Sie Code hinzufügen, um eingehende Nachrichten zu verarbeiten.
Firebase ohne Firebase
chrome.gcm
wird zwar immer über Firebase gesendet, aber Firebase kann so konfiguriert werden, dass es als Proxy für externe Anbieter von Push-Mitteilungen dient. Normalerweise geben Anbieter die Unterstützung für Chrome-Erweiterungen ausdrücklich an. Allerdings sollte jeder Anbieter funktionieren, der die alten Push-Benachrichtigungen von Firebase unterstützt. Wenn Ihr Anbieter die Unterstützung für die alten Push-Benachrichtigungen von Firebase angibt, können Sie sie ausprobieren. Sollten Probleme auftreten, kann der Support des Anbieters eventuelle Einschränkungen erläutern.
Kanäle und Themen
chrome.gcm
verwendet die alten Firebase Messaging APIs. Das ist wichtig, da die alte API keine Nachrichtenkanäle unterstützt. Jede gepushte Nachricht wird an jeden Client gesendet. Wenn die Erweiterung eines Nutzers nur an einem Teil der Nachrichten interessiert ist, müssen Sie selbst filtern.
Firebase ist zwar ein kostenloses Konto, aber wenn Sie einen bestimmten Nutzungsgrenzwert überschreiten, werden Ihnen Kosten in Rechnung gestellt. Wenn Sie Nachrichten an bestimmte Gruppen senden möchten, kann die clientseitige Filterung mehr kosten, als sie wert ist. Du kannst das Problem umgehen, indem du mehrere Projekte erstellst, um einzelne Kanäle zu replizieren (ein Projekt und eine Sender-ID für jeden Kanal). Eine Erweiterung kann für bis zu 100 Absender-IDs registriert werden.
Wenn Sie Unterstützung für Kanäle benötigen oder Push-Benachrichtigungen ohne Firebase verwenden möchten, können Sie die Push API verwenden.