我正在尝试向我的reactjs应用中的用户发送推送通知。我添加了firebase,请求用户获得通知权限。那是有效的。
但现在我想注册设备令牌。但它给了我错误:
消息:我们无法注册默认服务工作者。无法注册ServiceWorker:脚本具有不受支持的MIME类型('text / html')。 (消息/失败-serviceworker注册)
在哪里添加firebase-messaging-sw.js
文件?如何在react应用程序中注册服务工作者?
以下是我用来注册设备令牌的代码:
messaging.getToken()
.then(function(currentToken) {
if (currentToken) {
// sendTokenToServer(currentToken);
// updateUIForPushEnabled(currentToken);
} else {
// Show permission request.
console.log('No Instance ID token available. Request permission to generate one.');
// Show permission UI.
// updateUIForPushPermissionRequired();
// setTokenSentToServer(false);
}
})
.catch(function(err) {
console.log('An error occurred while retrieving token. ', err);
//showToken('Error retrieving Instance ID token. ', err);
//setTokenSentToServer(false);
});
注意:它不是反应原生,而是一个网络应用。
答案 0 :(得分:4)
我已将 firebase-messaging-sw.js 文件添加到我的公共目录(带有index.html)文件中。这解决了这个问题。
请参阅此post
了解详情