Mit chrome.gcm können Sie Nachrichten an Endnutzer senden und von ihnen empfangen. Da es auf Firebase Cloud Messaging (FCM) basiert, ist es ein externer Dienst, den Sie einrichten müssen. In dieser Anleitung werden Sie durch alle Schritte geführt, die erforderlich sind, damit das Tool in Ihrer Erweiterung funktioniert.
chrome.gcm
wird zwar weiterhin unterstützt, wurde aber vor über einem Jahrzehnt vor dem Push-Standard erstellt. Im Allgemeinen empfiehlt es sich, den Webstandard und keine erweiterungsspezifische API zu verwenden. Sofern Sie chrome.gcm
nicht unbedingt verwenden müssen, empfehlen wir die Verwendung von Push.
Voraussetzungen
Damit Sie chrome.gcm
verwenden können, müssen Sie ein Firebase-Konto einrichten.
![Firebase.com-Startseite.](https://developer.chrome.com/docs/extensions/how-to/integrate/chrome.gcm/firebase_homepage.jpg?authuser=6&hl=de)
Sobald Sie ein Konto erstellt haben, können Sie die Firebase Console öffnen und ein vorhandenes Projekt auswählen oder ein neues für die Erweiterung erstellen.
![Screenshot der Projekteinträge in der Firebase Console](https://developer.chrome.com/docs/extensions/how-to/integrate/chrome.gcm/firebase_console.jpg?authuser=6&hl=de)
Fahren Sie mit der Einstellungsseite für Cloud Messaging fort.
![Screenshot einer Firebase Cloud Messaging-Einstellungsseite](https://developer.chrome.com/docs/extensions/how-to/integrate/chrome.gcm/firebase_settings.jpg?authuser=6&hl=de)
Wenn Sie in diesem Projekt bereits ein Cloud-Messaging-Konto haben, können Sie die aufgeführte numerische Sender-ID kopieren.
Wenn Cloud Messaging nicht aktiviert ist, müssen Sie die Firebase Cloud Messaging API für das Projekt in Google Cloud aktivieren. In der folgenden Abbildung sehen Sie, wo in den Firebase-Einstellungen ein direkter Link zu dieser Seite vorhanden ist.
![Screenshot des Speicherorts des Links zum Aktivieren der Firebase Messaging API in Google Cloud](https://developer.chrome.com/docs/extensions/how-to/integrate/chrome.gcm/firebase_enable_cloud.jpg?authuser=6&hl=de)
Kehren Sie nach der Aktivierung zur Einstellungsseite für Cloud Messaging zurück und kopieren Sie die Sender-ID.
chrome.gcm konfigurieren
Da Sie nun Ihre Sender-ID von Firebase haben, können Sie die Erweiterung so konfigurieren, dass sie Nachrichten abhört. Prüfe zuerst, ob du dem manifest.json
deiner Erweiterung die Berechtigung gcm
hinzugefügt hast
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Sie haben jetzt Zugriff auf die chrome.gcm
API. Sie können sich registrieren, um Push-Nachrichten zu überwachen, indem Sie chrome.gcm.register
aufrufen.
Auf Nachrichten achten
Sobald die Erweiterung Ihre Sender-ID registriert hat, müssen Sie Code hinzufügen, um eingehende Nachrichten zu verarbeiten.
Firebase ohne Firebase
Obwohl chrome.gcm
immer Firebase durchläuft, kann Firebase so konfiguriert werden, dass es als Proxy für externe Push-Messaging-Anbieter fungiert. In der Regel geben Anbieter die Unterstützung für Chrome-Erweiterungen explizit an. Es sollte aber jeder Anbieter funktionieren, der Legacy-Push-Benachrichtigungen von Firebase unterstützt. Wenn Ihr Anbieter Unterstützung für Legacy-Push-Benachrichtigungen von Firebase anbietet, probieren Sie es aus. Wenn Probleme auftreten, sollte der Support des Anbieters alle eventuellen Einschränkungen klären können.
In Kanälen und Themen
chrome.gcm
verwendet die alten Firebase Messaging APIs. Das ist wichtig, weil die Legacy API keine Nachrichtenkanäle unterstützt. Jede per Push übertragene Nachricht wird an jeden Client gesendet. Wenn die Erweiterung eines Nutzers nur an einem Teil der Nachrichten interessiert ist, müssen Sie selbst filtern.
Während Firebase als kostenloses Konto verfügbar ist, werden Ihnen Gebühren in Rechnung gestellt, sobald Sie einen bestimmten Nutzungsgrenzwert überschreiten. Wenn Sie Nachrichten an bestimmte Gruppen senden möchten, kann das clientseitige Filtern am Ende mehr kosten, als es tatsächlich erforderlich ist. Sie können dies umgehen, indem Sie mehrere Projekte erstellen, um einzelne Kanäle zu replizieren (ein Projekt und eine Sender-ID für jeden Kanal). Jede Erweiterung kann für mehrere Sender-IDs (bis zu 100) registriert werden.
Wenn Sie Unterstützung für Kanäle benötigen oder Push-Benachrichtigungen verwenden möchten, ohne Firebase zu nutzen, können Sie alternativ die Push API verwenden.