Der Firebase Service-Mitarbeiter wurde während der Verwendung von GWT nicht gefunden (404 Error)

8

Ich würde gerne den Firebase-Cloud-Messaging-Dienst in meiner GWT-Webapplikation verwenden, aber ich habe Probleme. Die Anwendung sollte in der Lage sein, den Servicemitarbeiter des Firebase zu registrieren und eine Verbindung mit dem Dienst mit seinem spezifischen Token herzustellen. Dieses Token, die empfangenen Nachrichten und das Ereignis, wenn sich ein Token ändert, sollten in meinem GWT Java-Code zugänglich sein.

Der Fehler tritt auf, wenn ich versuche, das Token mithilfe von handle.getToken () zu erstellen. Ich bekomme diese Fehlermeldung:

%Vor%

Die URL, auf die der Service-Mitarbeiter zugreifen soll, lautet: Ссылка

Es ist also offensichtlich, dass das Problem darin besteht, auf das Javascript von meiner lokalen Host-Adresse anstatt auf den Speicherort der anderen Firebase-JS-Dateien zuzugreifen. Also meine Frage ist, wie kann ich das ändern, so lädt es die Datei von der richtigen Quelle?

Diese Skripte sind in meiner HTML-Datei enthalten:

%Vor%

Dies ist mein Java-Code:

%Vor%     
Roman 18.11.2016, 09:18
quelle

2 Antworten

7

Das Firebase SDK versucht, den Service-Mitarbeiter an einem bestimmten Ort zu registrieren.

Der Ort ist + /firebase-messaging-sw.js. Es gibt zwei Möglichkeiten:

1.) Machen Sie + /firebase-messaging-sw.js im Browser (dh stellen Sie sicher, dass es eine gültige Antwort zurückgibt) und versuchen Sie es dann erneut mit dem SDK (es sollte funktionieren, wenn der Browser auf die Datei zugreifen kann).

2.) Verwenden Sie die Methode useServiceworker(<service worker registration>) , um einen benutzerdefinierten Service-Mitarbeiter zu übergeben. Dazu benötigen Sie immer noch eine gültige Service-Worker-URL.

    
Gaunt Face 18.11.2016, 22:31
quelle
12

Erstellen Sie einfach eine leere Datei im Stammordner firebase-messaging-sw.js

    
Rodrigo Asensio 16.02.2017 03:51
quelle