javascript网页虽然在后台接收(仅数据消息),但未在前台模式下接收通知

我在客户端使用Vue js,在后端使用node js。我正在发送数据消息,当浏览器的选项卡处于非活动状态时,它已被客户端接收。但是当选项卡处于活动状态时,它不会收到通知。

这是我在客户端的代码

      // Your web app's Firebase configuration
      var firebaseConfig = {
        apiKey: "<apiKey>",authDomain: "<authDomain>",databaseURL: "<db>",projectId: "<projectId>",storageBucket: "<storageBucket>",messagingSenderId: "<senderId>",appId: "<appId>"
      };
      // Initialize Firebase
      firebase.initializeApp(firebaseConfig);
      // Retrieve Firebase Messaging object.
      const messaging = firebase.messaging();
      messaging.usePublicVapidKey(
        "<KEY>"
      );
      messaging
        .requestPermission()
        .then(function() {
          retrieveToken();
          console.log("Notification permission granted.");
        })
        .catch(function(err) {
          console.log("Unable to get permission to notify. ",err);
        });
      function retrieveToken() {
        messaging
          .getToken()
          .then(devicetoken => {
            if (devicetoken) {
              console.log(devicetoken);
              messaging.onmessage(payload => {
                console.log("Message received. ",payload);
              });
            } else {
              console.log(
                "No Instance ID token available. Request permission to generate one."
              );
            }
          })
          .catch(err => {
            console.log("An error occurred while retrieving token. ",err);
          });
      }
      }
    </script> 

这是我的服务器端代码

var message = {
       data: {
         score: "850",time: "2:45"
       },token: registrationToken
    };

  // Send a message to the device corresponding to the provided
  // registration token.
    admin
      .messaging()
      .send(message)
      .then(response => {
        // Response is a message ID string.
        console.log("Successfully sent message:",response);
      })
      .catch(error => {
        console.log("Error sending message:",error);
      });

hanpangzi010 回答:javascript网页虽然在后台接收(仅数据消息),但未在前台模式下接收通知

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156520.html

大家都在问