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%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.
Erstellen Sie einfach eine leere Datei im Stammordner firebase-messaging-sw.js
Tags und Links javascript gwt java firebase firebase-cloud-messaging