| Plattform auswählen : | iOS+ Android Web Flutter Unity C++ |
In dieser Anleitung wird beschrieben, wie Sie Firebase Cloud Messaging in Ihren Web-Client-Apps verwenden, um zuverlässig Nachrichten zu senden.
Mit der FCM JavaScript API können Sie Benachrichtigungen in Web-Apps empfangen, die in Browsern ausgeführt werden, die die Push API unterstützen. Dazu gehören die in dieser Supportmatrix aufgeführten Browserversionen und Chrome-Erweiterungen, die die Push API verwenden.
Das FCM SDK wird nur auf Seiten unterstützt, die über HTTPS bereitgestellt werden. Das liegt daran, dass es Service Worker verwendet, die nur auf HTTPS-Websites verfügbar sind. Wenn Sie einen Anbieter benötigen, Firebase App Hosting wird empfohlen und bietet ein kostenloses Kontingent für HTTPS-Hosting in Ihrer eigenen Domain.
Wenn Sie die FCM JavaScript API verwenden möchten, müssen Sie Firebase zu Ihrer Web-App hinzufügen und Logik hinzufügen, um auf Registrierungstokens zuzugreifen.
FCM SDK hinzufügen und initialisieren
Installieren Sie das Firebase JS SDK und initialisieren Sie Firebase, falls noch nicht geschehen.
Fügen Sie das Firebase Cloud Messaging JS SDK hinzu und initialisieren Sie Firebase Cloud Messaging:
Web
import { initializeApp } from "firebase/app"; import { getMessaging } from "firebase/messaging"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Firebase Cloud Messaging and get a reference to the service const messaging = getMessaging(app);
Web
import firebase from "firebase/compat/app"; import "firebase/compat/messaging"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Firebase Cloud Messaging and get a reference to the service const messaging = firebase.messaging();
Wenn Sie FCM für das Web verwenden und auf SDK 6.7.0 oder höher aktualisieren möchten, müssen Sie die FCM Registration API für Ihr Projekt in der Google Cloud aktivieren. Achten Sie beim Aktivieren der API darauf, dass Sie in der Cloud Console mit demselben Google-Konto angemeldet sind, das Sie für Firebase verwenden, und wählen Sie das richtige Projekt aus. Bei neuen Projekten, die das FCM SDK hinzufügen, ist diese API standardmäßig aktiviert.
Web-Anmeldedaten mit FCM konfigurieren
Die FCM Weboberfläche verwendet Web-Anmeldedaten, sogenannte VAPID-Schlüssel (Voluntary Application Server Identification), um Sendeanfragen an unterstützte Web-Push-Dienste zu autorisieren. Wenn Sie Ihre App für Push-Benachrichtigungen registrieren möchten, müssen Sie ein Schlüsselpaar mit Ihrem Firebase-Projekt verknüpfen. Sie können entweder ein neues Schlüsselpaar generieren oder Ihr vorhandenes Schlüsselpaar über die Firebase Konsole importieren.
Neues Schlüsselpaar generieren
- Öffnen Sie in der Firebase Console die Einstellungen und dann den Tab Cloud Messaging und rufen Sie den Abschnitt Webkonfiguration auf.
- Klicken Sie auf dem Tab Web-Push-Zertifikate auf Schlüsselpaar generieren. In der Console wird eine Benachrichtigung angezeigt, dass das Schlüsselpaar generiert wurde, sowie der öffentliche Schlüsselstring und das Datum, an dem er hinzugefügt wurde.
Vorhandenes Schlüsselpaar importieren
Wenn Sie bereits ein Schlüsselpaar verwenden, das Sie mit Ihrer Web-App nutzen, können Sie es in FCM importieren, damit Sie über FCM APIs auf Ihre vorhandenen Web-App Instanzen zugreifen können. Zum Importieren von Schlüsseln benötigen Sie Zugriff auf das Firebase-Projekt auf Inhaberebene. Importieren Sie Ihren vorhandenen öffentlichen und privaten Schlüssel in Base64-URL-sicherer codierter Form:
- Öffnen Sie in der Firebase Console die Einstellungen und dann den Tab Cloud Messaging und rufen Sie den Abschnitt Webkonfiguration auf.
- Suchen Sie auf dem Tab Web-Push-Zertifikate den Linktext Vorhandenes Schlüsselpaar importieren und wählen Sie ihn aus.
- Geben Sie im Dialogfeld Schlüsselpaar importieren Ihre öffentlichen und privaten Schlüssel in die entsprechenden Felder ein und klicken Sie auf Importieren. In der Console werden der öffentliche Schlüsselstring und das Datum, an dem er hinzugefügt wurde, angezeigt.
Eine Anleitung zum Hinzufügen des Schlüssels zu Ihrer App finden Sie unter Web-Anmeldedaten in Ihrer App konfigurieren. Weitere Informationen zum Format der Schlüssel und zum Generieren finden Sie unter Anwendungsserverschlüssel.
Web-Anmeldedaten in Ihrer App konfigurieren
Mit der Methode getToken(): Promise<string>
kann FCM die VAPID-Schlüsselanmeldedaten verwenden, wenn Nachrichtenanfragen an verschiedene Push-Dienste gesendet werden. Fügen Sie den Schlüssel, den Sie gemäß der Anleitung unter Web-Anmeldedaten mit FCM konfigurieren generiert oder importiert haben, in Ihren Code ein, nachdem das Messaging-Objekt abgerufen wurde:
import { getMessaging, getToken } from "firebase/messaging";
const messaging = getMessaging();
// Add the public key generated from the console here.
getToken(messaging, {vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu"});
Auf das Registrierungstoken zugreifen
Wenn Sie das aktuelle Registrierungstoken für eine App-Instanz abrufen müssen, fordern Sie zuerst
mit Notification.requestPermission() die Berechtigung für Benachrichtigungen vom Nutzer an.
Wenn die Methode wie gezeigt aufgerufen wird, wird ein Token zurückgegeben, wenn die Berechtigung erteilt wird, oder das Versprechen wird abgelehnt, wenn die Berechtigung verweigert wird:
function requestPermission() {
console.log('Requesting permission...');
Notification.requestPermission().then((permission) => {
if (permission === 'granted') {
console.log('Notification permission granted.');FCM erfordert eine firebase-messaging-sw.js-Datei.
Wenn Sie noch keine firebase-messaging-sw.js-Datei haben, erstellen Sie eine leere Datei
mit diesem Namen und platzieren Sie sie im Stammverzeichnis Ihrer Domain, bevor Sie ein Token abrufen.
Sie können der Datei später bei der Clienteinrichtung aussagekräftige Inhalte hinzufügen.
So rufen Sie das aktuelle Token ab:
Web
import { getMessaging, getToken } from "firebase/messaging"; // Get registration token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. const messaging = getMessaging(); getToken(messaging, { vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { if (currentToken) { // Send the token to your server and update the UI if necessary // ... } else { // Show permission request UI console.log('No registration token available. Request permission to generate one.'); // ... } }).catch((err) => { console.log('An error occurred while retrieving token. ', err); // ... });
Web
// Get registration token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. messaging.getToken({ vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { if (currentToken) { // Send the token to your server and update the UI if necessary // ... } else { // Show permission request UI console.log('No registration token available. Request permission to generate one.'); // ... } }).catch((err) => { console.log('An error occurred while retrieving token. ', err); // ... });
Nachdem Sie das Token erhalten haben, senden Sie es an Ihren App-Server und speichern es mit der gewünschten Methode.
Testbenachrichtigung senden
- Installieren und führen Sie die App auf dem Zielgerät aus. Auf Apple-Geräten müssen Sie die Anfrage zur Berechtigung für den Empfang von Remote-Benachrichtigungen akzeptieren.
- Prüfen Sie, ob die App auf dem Gerät im Hintergrund ausgeführt wird.
- Öffnen Sie in der Firebase Console die Seite „Messaging“.
- Wenn dies Ihre erste Nachricht ist, wählen Sie Erste Kampagne erstellen aus.
- Wählen Sie Firebase-Benachrichtigungen und dann Erstellen aus.
- Wählen Sie andernfalls auf dem Tab Kampagnen die Option Neue Kampagne und dann Benachrichtigungen aus.
- Geben Sie den Nachrichtentext ein.
- Wählen Sie im rechten Bereich Testnachricht senden aus.
- Geben Sie im Feld Registrierungstoken hinzufügen Ihr Registrierungstoken ein.FCM
- Wählen Sie Testen aus.
Nachdem Sie Testen ausgewählt haben, sollte das Zielgerät mit der App im Hintergrund die Benachrichtigung erhalten.
Nächste Schritte
Nachdem Sie die Einrichtungsschritte abgeschlossen haben, haben Sie folgende Möglichkeiten, mit FCM für das Web (JavaScript) fortzufahren:
- Nachrichten an Geräte senden
- Nachrichten in einem JavaScript-Client empfangen
- Nachrichten in Themen veröffentlichen