1

Ich habe Javascript API für Firebase Push-Benachrichtigungen auf meiner Website konfiguriert. Alles funktioniert gut, aber ich sehe viele "Hintergrundnachrichten". Ich habe gerade die firebase-messaging-sw.js Datei in meinem Website-Verzeichnis.Was nutzt Firebase-messaging-sw.js in Firebase Web-Benachrichtigungen?

Ich kenne nicht die Verwendung davon. Ich wollte nur wissen, was es macht. Wenn Sie den folgenden Code sehen, werden Sie sehen, dass ich die messagingSenderId noch nicht zur Verfügung gestellt habe, wird diese Datei ausgeführt.

Also, was ich wissen will, ist:

So funktioniert es ohne ID?

Was nutzt es? Ist es eine obligatorische Datei, Push-Benachrichtigungen zu erhalten und sie in onMessage Handler zu behandeln?

Wo soll ich diese Datei tatsächlich lege (mein aktuelles Verzeichnis ist: MY-SITE-DOMAIN/Firebase-Messaging-sw.js aber die Feuerbasis-Benachrichtigungen werden in verschiedenem Verzeichnis konfigurieren)?

Hier ist der Code:

importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js'); 
importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js'); 

firebase.initializeApp({ 
    'messagingSenderId': 'YOUR-SENDER-ID' 
}); 

const messaging = firebase.messaging(); 
messaging.setBackgroundMessageHandler(function(payload) { 
console.log('[firebase-messaging-sw.js] Received background message ', payload); 
const notificationTitle = 'Background Message from html'; 
    const notificationOptions = { 
    body: 'Background Message body.', 
    icon: '/firebase-logo.png' 
}; 

    return self.registration.showNotification(notificationTitle, 
    notificationOptions); 
}); 

Original-Datei ist here

Antwort

1

Sie die Konfiguration unten oder einfach nur die messagingSenderID verwenden können. Sie haben möglicherweise die Konfiguration in Ihrem anderen Javascript eingerichtet, aufgrund dessen es keinen Fehler wirft.

firebase-messaging-sw.js ist ein Muss und sollte im Host-Stammverzeichnis vorhanden sein. Dies ist erforderlich, um den Hintergrundbenachrichtigungshandler einzurichten, wenn der Browser nicht im Fokus oder im Hintergrund ist.