[英]Next Js cant find Service messaging (firebase-cloud-messaging)
[英]firebase-messaging.js not found laravel
大家好,我正在使用 firebase 制作一个用于推送通知的应用程序。 这是我在 Firebase 中的第一个项目。 我遇到的问题是连接问题,因为当我运行项目并单击它给我的登录按钮时
已授予通知权限
但在此之后它返回一个错误,如下所示。
获取脚本时收到错误的 HTTP 响应代码 (404)。 firebase.js:24 无法获得通知权限。 FirebaseError:消息:我们无法注册默认服务工作者。 无法使用脚本(' http://localhost:8000/firebase-messaging-sw.js ')为范围(' http://localhost:8000/firebase-cloud-messaging-push-scope ')注册 ServiceWorker:获取脚本时收到错误的 HTTP 响应代码 (404)。 (消息传递/服务工作者注册失败)。 在https://www.gstatic.com/firebasejs/7.5.2/firebase-messaging.js:1:44674
我不知道为什么会这样,因为我可以看到我的 js 文件和所有代码,这是我的配置文件。
在我位于根目录的firebase-messaging-sw.js中,代码是
importScripts('https://www.gstatic.com/firebasejs/7.5.2/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/7.5.2/firebase-messaging.js');
firebase.initializeApp({
'messagingSenderId': 'SenderID'
});
const messaging = firebase.messaging();
console.log(messaging);
messaging.setBackgroundMessageHandler(function(payload) {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
// Customize notification here
const notificationTitle = 'Background Message Title';
const notificationOptions = {
body: 'Background Message body.',
icon: '/firebase-logo.png'
};
return self.registration.showNotification(notificationTitle,
notificationOptions);
});
在我的firebase.js文件中,代码如下:
const firebaseConfig = {
apiKey: "API-KEY",
authDomain: "authDomain",
databaseURL: "DBURI",
projectId: "P-ID",
storageBucket: "SB",
messagingSenderId: "SenderID",
appId: "AppID",
measurementId: "MeasurementID"
};
firebase.initializeApp(firebaseConfig);
//------------------------------------------------------------------------------
const messaging = firebase.messaging();
messaging.requestPermission().then(function () {
console.log("Notification permission granted");
return messaging.getToken();
}).then(function (token) {
console.log(token);
}).catch(function (err) {
console.log("Unable to get permission to notify.", err);
});
//------------------------------------------------------------------------------
messaging.onMessage((payload) => {
console.log(payload);
})
任何帮助,将不胜感激。 先感谢您。
我找到了解决方案,并且运行良好。 将其发布给面临类似问题的其他人。 问题出在我的 firebase-messaging-sw.js文件中。 我正在使用文档中编写的发件人 ID初始化 firebase。 我刚刚用更改初始化对象的所有配置值初始化了 firebase 对象解决了我的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.