FB Service-Mitarbeiter nicht gefunden, während mit GWT (404-Fehler)

Ich würde gerne die FB-cloud-messaging-Dienst in meiner GWT-Webanwendung, aber ich bin stecken mit einigen Problemen.
Die Anwendung sollte in der Lage sein zu registrieren, die FB-service-Arbeiter und eine Verbindung zu dem Dienst mit bestimmten token. Dieses token, die empfangenen Nachrichten und das Ereignis, wenn ein token änderungen sollten zugänglich sein in meinem GWT Java-code.

Tritt der Fehler auf wenn ich versuche zu erstellen, die token mit Griff.getToken().
Ich bekomme diese Fehlermeldung:

Ein bad HTTP-response-code (404) empfangen wurde, wenn das abrufen des Skripts. 
Failed to load resource: net::ERR_INVALID_RESPONSE 

browserErrorMessage: "Fehler beim registrieren einer ServiceWorker: Eine ungültige HTTP-Antwort-code (404) empfangen wurde, wenn das abrufen der Schrift." 
code: "messaging/nicht-serviceworker-Registrierung" 
Meldung: "die Messaging: Wir sind nicht in der Lage zu registrieren, die Standard-service-Arbeiter. Fehler beim registrieren einer ServiceWorker: Eine ungültige HTTP-Antwort-code (404) empfangen wurde, wenn das abrufen des Skripts. (Mitteilungen/nicht-serviceworker-Registrierung)." 
stack: "FirebaseError: Messaging: Wir sind nicht in der Lage zu registrieren, die Standard-service-Arbeiter. Fehler beim registrieren einer ServiceWorker: Eine ungültige HTTP-Antwort-code (404) empfangen wurde, wenn das abrufen des Skripts. (Mitteilungen/nicht-serviceworker-Registrierung).↵ bei https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js:41:225"__proto__: Fehler 

Der URL, der es versucht, Zugriff auf register der service-Mitarbeiter ist:
http://127.0.0.1:11111/firebase-messaging-sw.js

Also es ist offensichtlich das problem ist, es versucht auf das javascript von meinem lokalen host-Adresse verwenden, anstatt den Speicherort, wo die anderen FB JS-Dateien sind. Also meine Frage ist wie kann ich das ändern, so lädt es die Datei aus der richtigen Quelle?

Diese Skripte sind in meiner HTML-Datei:

<script src="https://www.gstatic.com/firebasejs/3.6.1/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js"></script>
<script>
  //Initialize Firebase
  var config = {
    apiKey: "AIzaSyBxdZNXHiLR1IC8Wrw3Y6q_5DFoN8hn_UY",
    authDomain: "fir-test-848de.firebaseapp.com",
    databaseURL: "https://fir-test-848de.firebaseio.com",
    storageBucket: "fir-test-848de.appspot.com",
    messagingSenderId: "974661154941"
  };
  firebase.initializeApp(config);
</script>

Dies ist mein Java code:

public class FB 
{ 

private JavaScriptObject _messagingHandle; 
private String _token; 

öffentliche FB() 
{ 
_messagingHandle = createMessagingHandle(); 
requestPermission(_messagingHandle, this); 
} 

private native JavaScriptObject createMessagingHandle() 
/*-{ 
return $wnd.FB.messaging(); 
}-*/; 

private native void listenTokenRefresh(final JavaScriptObject Griff) 
/*-{ 
Griff.onTokenRefresh(function() 
{ 
[email protected]::onTokenRefresh()(); 
}); 
}-*/; 

private void onTokenRefresh() 
{ 
getToken(_messagingHandle, this); 
} 

private native void requestPermission(final JavaScriptObject Griff, final Object-Instanz) 
/*-{ 
Griff.requestPermission().dann(function() 
{ 
$wnd.console.log('Notification-Berechtigung erteilt.'); 
[email protected]::onPermission(Z)(true); 
}) 
}-*/; 

private void onPermission(final boolean gewährt) 
{ 
wenn (erteilt) 
{ 
getToken(_messagingHandle, this); 
} 
} 

private native void getToken(final JavaScriptObject Griff, final Object-Instanz) 
/*-{ 
Griff.getToken().dann(function(currentToken) 
{ 
wenn (currentToken) 
{ 
[email protected]::onTokenReceived(Ljava/lang/String;)(currentToken); 
} 
sonst 
{ 
//Anzeigen der Berechtigung verlangen. 
$wnd.console.log('Keine Instanz-ID-token zur Verfügung. Die Erlaubnis zu erzeugen.'); 
[email protected]::onTokenReceived(Ljava/lang/String;)(null); 
} 
}) 

}-*/; 

private void onTokenReceived(final String token) 
{ 
if (token != null) 
{ 
GWT.log("Empfangene Token:" + token); 
if (!token.equals(_token)) 
{ 
//Senden/Update-Tokens an server 
} 
} 
} 
} 

InformationsquelleAutor Roman | 2016-11-18

Schreibe einen Kommentar