我第一次做fcm网络通知并将消息记录为
"smidge": {
"dataFolder" : "App_Data/Smidge",
"version" : "1"
}
我的代码是
{ from: "205864560478", collapse_key: "do_not_collapse" }
和我的firebase-messaging-sw.js
messaging.onMessage(function(payload) {
console.log("Message received. ", payload);
// ...
});
请帮忙。我不知道为什么我得到这个错误 我完美地为ios和Android工作。 我的web项目在localhost中,没有https
答案 0 :(得分:3)
{ from: "205864560478", collapse_key: "do_not_collapse" }
是预期的有效负载,并不是错误。
此外,对于开发,localhost免于https条件。
在FCM中,如果用户当前正在查看您的网页并收到推送通知,那么它将不会显示为推送通知(默认行为)。
根据页面是否在,消息的行为会有所不同 前景(有焦点),或在后台,隐藏在其他后面 标签,或完全关闭。
当您的应用位于前台时(用户当前正在查看您的应用) 网页),您可以直接接收数据和通知有效负载 页面。
https://firebase.google.com/docs/cloud-messaging/js/receive
如果您仍希望在用户当前正在查看您的网页时显示通知,那么您可以在messaging.onMessage
实施例
messaging.onMessage(function (payload) {
console.log('Message received. ', payload);
var options = {
body: 'Background Message body.', // payload.body
icon: '/firebase-logo.png' . // payload.icon
};
var n = new Notification('Notification says',options);
setTimeout(n.close.bind(n), 5000);
});