我得到了" do_not_collapse"作为FCM WEB通知中的有效负载

时间:2017-11-09 13:15:45

标签: angularjs firebase push-notification firebase-cloud-messaging

我第一次做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

1 个答案:

答案 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);
});