小编Kur*_*eko的帖子

Web firebase.messaging().onMessage 未触发,但后台通知完美触发

如果推送消息是通过 firebase.messaging().onMessage 发送的,但它没有被触发,我想在foregrounf 中重新加载或触发某些事件。我正在使用带有后台通知的 firebase.mesaging.sw.js 并且它工作正常我的代码有什么问题?

firebase.js

const config = {
  apiKey: "x",
  projectId: "x",
  storageBucket: "x",
  messagingSenderId: "x"
};

firebase.initializeApp(config);

const msg = firebase.messaging()
msg.requestPermission()
  .then(() => {
    return msg.getToken()
  })
  .then((token) => {
  })
  .catch((err) => {
  })

msg.onMessage(function(payload) {
  alert("Foreground message fired!")
  console.log(payload)
});
Run Code Online (Sandbox Code Playgroud)

firebase.messaging.sw.js

importScripts("https://www.gstatic.com/firebasejs/7.0.0/firebase-app.js");
importScripts("https://www.gstatic.com/firebasejs/7.0.0/firebase-messaging.js");

const config = {
  apiKey: "x",
  projectId: "x",
  storageBucket: 'x',
  messagingSenderId: "x"
};

firebase.initializeApp(config);
const msg = firebase.messaging()

msg.setBackgroundMessageHandler(function(payload) {
  let options = {
    body: payload.data.body,
    icon: payload.data.icon
  }

  return …
Run Code Online (Sandbox Code Playgroud)

javascript node.js laravel firebase firebase-cloud-messaging

7
推荐指数
2
解决办法
1万
查看次数