消息传递和 Firebase 托管中的 Firebase Service Worker 错误
Posted
技术标签:
【中文标题】消息传递和 Firebase 托管中的 Firebase Service Worker 错误【英文标题】:Firebase Service worker error in Messaging and Firebase Hosting 【发布时间】:2021-03-16 06:53:12 【问题描述】:我想创建一个迷你网络应用来测试用于网络应用的 Firebase 云消息传递。我想使用 Firebase 托管来托管我的网络应用。
错误:
在允许弹出通知后在我的浏览器上,我得到了这个 错误:
FirebaseError:消息:我们无法注册默认值 服务人员。无法为范围注册 ServiceWorker ('https://XXXX.firebaseapp.com/firebase-cloud-messaging-push-scope') 使用脚本('https://XXXX.firebaseapp.com/firebase-messaging-sw.js'): 获取脚本时收到错误的 HTTP 响应代码 (404)。 (消息传递/失败的服务工作者注册)。
标题
代码:
var firebaseConfig =
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
;
firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function()
return messaging.getToken();
).then(function(token)
console.log(token)
).catch(function(err)
console.log(err);
)
【问题讨论】:
navigator.serviceWorker.register('./sw.js').then((registration) => messing.useServiceWorker(registration); messing.requestPermission() .then(function () return messing.getToken(); ).then(function (token) console.log(token) ).catch(function (err) console.log(err); ); ); 添加“navigator.serviceWorker.register”然后正常工作:p 【参考方案1】:您的firebase-messaging-sw.js
似乎在您的服务器 根目录中不可用。
【讨论】:
firebase-messaging-sw.js 它在根目录下可用,但仍然无法正常工作以上是关于消息传递和 Firebase 托管中的 Firebase Service Worker 错误的主要内容,如果未能解决你的问题,请参考以下文章
Flutter sendMessage()中的Firebase消息传递
IOS 应用程序中的 Firebase 云消息传递 (FCM) 无法正常工作