Node.js 应用程序处于活动选项卡上时未收到FCM通知-NextJs
我正在尝试将FCM集成到我的NextJs应用程序中。我正在从Postman发送推送通知。我在最小化chrome浏览器时收到通知。但在浏览器处于活动状态时未收到通知 正如我所知,当浏览器处于活动状态时,它应该触发Node.js 应用程序处于活动选项卡上时未收到FCM通知-NextJs,node.js,reactjs,firebase,firebase-cloud-messaging,next.js,Node.js,Reactjs,Firebase,Firebase Cloud Messaging,Next.js,我正在尝试将FCM集成到我的NextJs应用程序中。我正在从Postman发送推送通知。我在最小化chrome浏览器时收到通知。但在浏览器处于活动状态时未收到通知 正如我所知,当浏览器处于活动状态时,它应该触发onMessage事件。但当我发送通知时,我的onMessage不会触发 邮差请求 { "to" : "xxxxxxxxxxxxxxx", "data": { "
onMessage
事件。但当我发送通知时,我的onMessage
不会触发
邮差请求
{
"to" : "xxxxxxxxxxxxxxx",
"data": {
"notification": {
"title": "Hello",
"body": "world"
}
}
}
main.js
import firebase from 'firebase/app';
import React, { useEffect } from 'react';
import { requestFirebaseNotificationPermission, onMessageListener } from './../../firebaseInit'
const Main = () => {
useEffect(() => {
requestFirebaseNotificationPermission()
.then((firebaseToken) => {
console.log("fcm -->", firebaseToken);
localStorage.setItem("fcm_token", firebaseToken)
})
.catch((err) => {
console.log("fcm error -->", err)
return err;
});
function getMessage() {
const messaging = firebase.messaging();
messaging.onMessage((payload) => {
console.log('foreground ', payload)
}
);
}
getMessage();
})
return (
<div>
...........
</div>)
}
export default Main;
import firebase from 'firebase/app';
import 'firebase/messaging';
let messaging = null;
const firebaseConfig = {
apiKey: "xxxx",
authDomain: "xxx.firebaseapp.com",
databaseURL: "https://xxx.firebaseio.com",
projectId: "xxxx",
storageBucket: "xxxxxx.appspot.com",
messagingSenderId: "xxxxxxx",
appId: "xxxxx",
measurementId: "xxxxxx"
};
if (typeof self !== 'undefined') {
firebase.initializeApp(firebaseConfig);
messaging = firebase.messaging();
}
export const requestFirebaseNotificationPermission = () =>
new Promise((resolve, reject) => {
messaging
.requestPermission()
.then(() => messaging.getToken())
.then((firebaseToken) => {
resolve(firebaseToken);
})
.catch((err) => {
reject(err);
});
});