根据此视频说明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”文件
我遇到了什么错误
当我执行它时,授予通知权限警告已执行,并突然显示无法获得通知消息,并在错误参数中显示以下错误
browserErrorMessage : “无法注册ServiceWorker:获取脚本时收到了错误的HTTP响应代码(404)。” 码 : “消息/失败-serviceworker登记” 信息 : “消息传递:我们无法注册默认服务工作者。无法注册ServiceWorker:获取脚本时收到了错误的HTTP响应代码(404)。(messaging / failed-serviceworker-registration)。” 堆 : “FirebaseError:消息:我们无法注册默认服务工作者。无法注册ServiceWorker:获取脚本时收到错误的HTTP响应代码(404)。(messaging / failed-serviceworker-registration).↵at {{ 3}}“
在 message.getToken()中返回以下值
_proto__ : 诺言 [[PromiseStatus]] : “待定” [[PromiseValue]] : 未定义