Firebase Cloud Messaging ohne Hosting (Web / JavaScript)

8

Wenn ich das offizielle Video-Tutorial für Firebase Cloud Messaging durcharbeite, kann ich kein Messaging-Token abrufen, ohne die Anwendung zu hosten.

Hier ist meine app.js Datei:

%Vor%

Ich habe eine firebase-messaging-sw.js Datei in meinem Wurzelverzeichnis.

Wenn ich die Datei index.html direkt in meinem Browser lade und den Dialog akzeptiere, erhalte ich einen undefinierten Wert für das Token. Die vollständige Konsolenausgabe lautet:

%Vor%

Wenn ich die Anwendung hosten lasse, indem ich die firebase.json -Datei zum Lesen lese:

%Vor%

Und dann firebase serve -p 8081 ausführen, http://localhost:8081 öffnen und den Dialog akzeptieren, ich erhalte ein Token. Die volle Ausgabe ist:

%Vor%

Ist das eine dokumentierte Einschränkung? Gibt es eine Möglichkeit, ein Token zu erhalten, ohne die Anwendung zu hosten?

    
David Y. Stephenson 18.01.2018, 15:28
quelle

2 Antworten

4

FCM funktioniert nur auf Seiten, die vom https-Protokoll bedient werden

wie im Dokument

  

Das FCM SDK wird nur in Seiten unterstützt, die über HTTPS bereitgestellt werden. Das ist fällig   zu seiner Verwendung von Service-Mitarbeitern, die nur auf HTTPS verfügbar sind   Websites. Brauchen Sie einen Anbieter? Firebase Hosting ist eine einfache Möglichkeit, um kostenlos zu erhalten   HTTPS Hosting auf Ihrer eigenen Domain.

und wenn Sie sich fragen, warum localhost arbeiten, weil Seiten in localhost so funktionieren, wie sie von https

bedient werden

so Gibt es eine Möglichkeit, ein Token zu empfangen, ohne die Anwendung zu hosten?

Die Antwort lautet Nein , dass Ihre Seite vom https-Protokoll bedient werden sollte

    
Ali 22.01.2018, 14:17
quelle
1

Ich würde nicht sagen, dass dies die exakte Alternative ist, aber eine alternative Lösung für das Problem, Sie können die ngrok verwenden, die zur Verfügung stellt Sie mit dem Https-Zugang für alternative Darstellung der localhost .

Verwenden Sie also nach der Installation die URL, die auf dem Terminal von ngrok im FCM ausgegeben wird.

Hinweis : ngrok gibt sowohl http als auch https URLs aus. Verwenden Sie daher nur Https . Sie werden weiterhin Ihrem lokalen Server zugeordnet.

    
Webruster 29.01.2018 12:58
quelle