Keine FCM-Push-Benachrichtigung für das Web auf localhost erhalten

9

Also muss ich Web-Push-Benachrichtigungen in unserer Web-App implementieren, ich habe erfolgreich die Firebase-Cloud-Messaging in meiner App mit Hilfe von Docs eingerichtet, ich bin in der Lage, den Benutzer um Erlaubnis für Benachrichtigungen zu bitten und das Token zu erhalten ID auch, wenn er die Erlaubnis akzeptiert.

Wenn ich versuche, eine Benachrichtigung zum Testen an das generierte Token zu senden, bekomme ich eine Antwort, dass die Nachricht gesendet wird, aber ich kann sie nicht auf der Clientseite empfangen.

Mein Index.html

%Vor%

Ich bin erfolgreich in der Lage, die Service-Worker-Datei zu registrieren

Meine App.component.ts

%Vor%

Ich erhalte das Erlaubnisdialogfeld, um Erlaubnis zu fragen und ein Token mit diesem Code zu erhalten

Der curl code, mit dem ich Nachrichten gesendet habe

%Vor%

Ich kann erfolgreich Benachrichtigungen mit diesem Code senden

Ich kann nicht herausfinden, wo ich falsch liege, vielleicht, weil es auf localhost ist? vielleicht läuft die onMessage Methode nicht richtig? Jede Hilfe wird sehr geschätzt!

    
Manzur Khan 28.09.2017, 06:31
quelle

3 Antworten

0

Okay, ich habe auf Stackoverflow keine Antworten dafür bekommen, also muss ich es alleine machen und es funktioniert!

Das Problem war in der Service-Worker-Datei, ich habe anscheinend keine Messaging-Variable definiert.

Wenn jemand mit diesem Problem konfrontiert wird, stellen Sie einfach sicher, dass Ihre Service-Worker-Datei in etwa so aussieht.

%Vor%     
Manzur Khan 09.10.2017, 09:42
quelle
1

Ich hatte ein ähnliches Problem, und ich ging zu Cloud-Messaging auf Firebase und bekam meinen Serverschlüssel und fügte diesen der curl-Anfrage hinzu.

%Vor%

und meine firebase-messaging-sw.js sahen wie der folgende Code aus

%Vor%

Das hat den Trick für mich gemacht. Meine Fehler waren, dass ich ein falsches serverKey verwendete und ich nicht importScripts in meinem firebase-messaging-sw.js

verwendete     
Jolaade Adewale 10.03.2018 12:26
quelle
-1

Wie auf der FCM-Website angegeben:

  

Das FCM SDK wird nur in Seiten unterstützt, die über HTTPS bereitgestellt werden. Dies ist auf die Verwendung von Service-Mitarbeitern zurückzuführen, die nur auf HTTPS-Sites verfügbar sind.

Siehe Ссылка

    
Touqeer Shafi 03.10.2017 13:52
quelle