Javascript 在firebase中发送web推送通知会获得成功,但不会在客户端接收它们
我正在使用react,并且我一直在遵循关于如何启用web推送通知的文档,我已经创建了Javascript 在firebase中发送web推送通知会获得成功,但不会在客户端接收它们,javascript,reactjs,firebase,firebase-cloud-messaging,service-worker,Javascript,Reactjs,Firebase,Firebase Cloud Messaging,Service Worker,我正在使用react,并且我一直在遵循关于如何启用web推送通知的文档,我已经创建了firebase messaging sw.js,并使用getToken()方法在客户机中获取令牌。还将serviceWorker注册到index.js文件中 碰巧它曾经工作过,但有时不工作,而且服务人员在启动时显示出一些错误,有时显示一切都很顺利,所以我想知道我遗漏了什么,或者为了最终启用推送通知,我还需要做些什么 我用3种方式测试em:在firebase控制台上,使用https://fcm.googleapi
firebase messaging sw.js
,并使用getToken()
方法在客户机中获取令牌。还将serviceWorker注册到index.js
文件中
碰巧它曾经工作过,但有时不工作,而且服务人员在启动时显示出一些错误,有时显示一切都很顺利,所以我想知道我遗漏了什么,或者为了最终启用推送通知,我还需要做些什么
我用3种方式测试em:在firebase控制台上,使用https://fcm.googleapis.com/fcm/send
api和node.js上的firebase admin
SDK
我的firebase messaging sw.js
如下所示:
importScripts("https://www.gstatic.com/firebasejs/7.8.0/firebase-app.js");
importScripts("https://www.gstatic.com/firebasejs/7.8.0/firebase-messaging.js");
firebase.initializeApp({
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "...",
measurementId: "...",
});
const messaging = firebase.messaging();
messaging.usePublicVapidKey(
"...KEY..."
);
使用SDK的代码如下所示
// Full payload to be send
body = {
registration_ids: fcm_tokens, //Array of tokens
priority: "high",
notification: {
title: data_activity_log.type.title,
body: data_activity_log.type.description,
},
};
// SDK function to send to multiple receipts
admin
.messaging()
.sendMulticast(body)
.then((response) => {
console.log("multicast response", response);
})
.catch((error) => {
console.error("multicast error", error);
});
在回答中,我总是得到这样的回答:
"multicast_id": ......,
"success": 1,
"failure": 0,
客户端的代码似乎有问题,但我就是不明白,没有显示错误,也没有任何建议或我做错了什么,请帮助
我已经在这上面呆了5天了:((