Wie zu verwenden-service-Arbeiter mit FCM für Push-Benachrichtigungen
Ich versuche, mit service-Arbeiter mit FB zu implementieren push-Benachrichtigungen in chrome. Ich habe eine manifest-Datei und eine sw.js die Datei in meinem web-app. Ich habe ein Projekt erstellt in FB und ich habe getestet die Anmeldung und senden von Benachrichtigungen. dies alles funktioniert gut, außer dass beim Empfang der Benachrichtigungen die Daten null ist. Ich verstehe nicht, warum und es gibt keine hilfreichen Ressourcen (meines Wissens!).
Hier ist mein service-Mitarbeiter Datei:
self.addEventListener('push', function(event) {
console.log('Push message', event);
var title = 'Push message';
event.waitUntil(
self.registration.showNotification(title, {
body: 'The Message',
icon: 'images/logo.svg',
tag: 'my-tag'
}));
});
Hier ist meine main.js Datei:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
//Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
registration.pushManager.subscribe({
userVisibleOnly: true
}).then(function(sub) {
console.log('endpoint:', sub.endpoint);
}).catch(function(e) {
});
}).catch(function(err) {
//registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
}
Manifestieren.json:
{
"name": "APPNAME",
"gcm_sender_id": "SENDERID"
}
cURL Anfrage:
curl --header "Authorization: key=APIKEY" -application/json" https://fcm.googleapis.com/fcm/send -d "{\"registration_ids\":[\"REGISTRATIONID\"],\"notification\":{\"title\":\"test\",\"body\":\"testing\"},\"data\":{\"title\":\"erse\"}}"
Konsole von push-event aus sw.js:
Erhalte ich keine Daten ich habe in dem request. Ist dies getan, auf eine andere Weise mit der FB?
Vielen Dank im Voraus.
- Mögliche Duplikate von Buchungsdaten mit dem GCM push-Benachrichtigung
- ich habe auch dieses problem
- derzeit hacking auf das gleiche problem. Glaube nicht, dass FB derzeit unterstützt die webPush, dass wir mit serviceWorkers..
- FB unterstützt nur Chrome apps/Erweiterungen. Der Web-Push-in Chrome funktioniert derzeit mit den GCM-Infrastruktur. firebase.google.com/docs/cloud-messaging/chrome/client
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut diese, können Sie Daten mit chrome-Benachrichtigung version für chrome-version 50 ab.
Für Ihre aktuelle Umsetzung ist etwas wie dieses:
Für eine bestimmte Benachrichtigung und können verknüpft werden, um insbesondere Benutzer, übergeben Sie den parameter Registrierungs-id des Arbeiters in der api-url und bekomme die Meldung für die jeweilige id.
Hoffe, das hilft!
Laut dieses tutorial Sie derzeit senden können nicht alle Daten zu GCM: