Georg Reisinger 2d70dbdf3d /push/:messageid/:message/:title
Pushbenachrichtigungen können zuverlässig über diese route gesendet werden

Für abstände muss %20 verwendet werden
2019-02-24 03:55:56 +01:00

50 lines
1.2 KiB
JavaScript

// var admin = require("firebase-admin");
// var serviceAccount = require("firebaseAdminKey.json");
// admin.initializeApp({
// credential: admin.credential.cert(serviceAccount),
// databaseURL: "https://test-667ca.firebaseio.com"
// });
var msg = firebase.messaging();
msg.requestPermission()
.then(function(){
return msg.getToken();
})
.then(token => {
console.log("Zugriff auf msg", token);
updateUser(token);
})
.catch(err => {
console.error("Msg Error: ", err);
})
function updateUser(token) {
firebase.auth().onAuthStateChanged(function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) {
$.ajax({
type: "POST",
url: "/user",
data:{
idtoken: idtoken,
message_id: token
},
success(){
console.log("User updated");
},
error(err){
console.error("Error: " + err);
}
});
}).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}});
}
msg.onMessage(payload => {
const title = payload.data.title
new Notification(title, { body: payload.data.body});
})