根据此视频说明https://www.youtube.com/watch?v=BsCBCudx58g,我已经集成了下面的代码。
<script src="https://www.gstatic.com/firebasejs/3.6.5/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "IIzaSyA3MZtKiK6E6y7q9w26J-YMi9Leeao5Zs0",
authDomain: "a...99.firebaseapp.com",
databaseURL: "https://a...99.firebaseio.com",
storageBucket: "a...99.appspot.com",
messagingSenderId: "915965251026"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function() {
alert('Notification permission granted.');
return messaging.getToken();
}).then(function(token){
alert(token);
})
.catch(function(err) {
alert('Unable to get permission to notify.', err);
});
</script>
manifest.json 文件
{
"short_name": "AirHorner",
"name": "Kinlan's AirHorner of Infamy",
"start_url": "index.html?launcher=true"
}
我还创建了一个虚拟的“firebase-messaging-sw.js”文件
我遇到了什么错误
当我执行它时,通知权限授予警报被执行,并突然显示无法获得通知消息的权限,并且在err参数中我收到以下错误
browserErrorMessage :“无法注册 ServiceWorker:获取脚本时收到错误的 HTTP 响应代码 (404)。” 代码:“消息/失败的服务工作者注册”消息:“消息:我们无法注册默认服务工作者。无法注册服务工作者:获取脚本时收到错误的 HTTP 响应代码(404)。(消息/失败的服务工作者注册)。” 堆栈:“FirebaseError:消息传递:我们无法注册默认服务工作者。无法注册服务工作者:获取脚本时收到错误的 HTTP 响应代码 (404)。(消息传递/失败的服务工作者注册)。↵ at https://www.gstatic.com/firebasejs/3.6.5/firebase.js:552:225 “
在message.getToken()中返回以下值
_proto__ :承诺 [[PromiseStatus]] :“待定” [[PromiseValue]] :未定义