javascript - Firebase JS - getToken() 不返回 token

标签 javascript firebase-cloud-messaging

我有以下代码,基于 Google's Documentation :

var config = {
    apiKey: "XX",
    authDomain: "XX",
    databaseURL: "XX",
    storageBucket: "XX",
    messagingSenderId: "XX"
};
firebase.initializeApp(config);

const messaging = firebase.messaging();

messaging.requestPermission()
.then(function() {
    console.log('Notification permission granted.');
    messaging.getToken()
    .then(function(currentToken) {
        if (currentToken) {
            console.log(currentToken);
        } else {
            console.log('No Instance ID token available. Request permission to generate one.');
        }
    })
    .catch(function(err) {
        console.log('An error occurred while retrieving token. ', err);
    });
})
.catch(function(err) {
    console.log('Unable to get permission to notify. ', err);
});

奇怪的是,从未调用messaging.getToken()then 函数。控制台确实显示 Notification permission granted.,但在那之后,它保持安静(即我也没有收到任何错误)。

我做错了什么吗?

编辑:应该注意的是,我正在尝试在 Chrome 扩展程序中实现这一点。

最佳答案

我有同样的问题,我花了6个多小时才解决这个问题。您需要在主目录中创建虚拟“firebase-messaging-sw.js”(空文件)文件。

我的 html 页面位置是“ http://localhost:56050/Notification/index.html
我的 firebase-messaging-sw.js 是“ http://localhost:56050/firebase-messaging-sw.js

关于javascript - Firebase JS - getToken() 不返回 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40239968/

相关文章:

php - Firebase Cloud Messaging,接收通知的问题

javascript - 如何验证多个单选按钮

javascript - 从 JavaScript 设置带有引号和逗号的 CSS 变量

Firebase 通知 - 发送到用户段与发送到主题差异

firebase - flutter :FlutterFcmService - 致命:找不到回调

firebase - FCM中通知节点和数据节点有什么区别

javascript - Service Worker 仅显示第一个推送通知(来自云消息传递),直到我重新加载 - 工作人员收到消息

javascript - 自定义控件 - 如何将聚合封装在另一个控件中

javascript - 在整个页面上工作的水平滚动 jquery

javascript - KnockoutJS 关联数组和选择列表