我的浏览器中有一个(超级)基本FCM应用程序,并且在YouTube上关注Firecast后,我已经碰壁了。
如果我打算通过调用messaging.getToken()
并将令牌记录到控制台来打印令牌,我会改为null
。
我的代码如下:
<script src="https://www.gstatic.com/firebasejs/3.9.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.9.0/firebase-messaging.js"></script>'
我只需要Firebase SDK的FCM部分(我已经尝试了所有这些部分)。
<script>
var config = {
apiKey: "MY-API-KEY-IS-HERE-BUT-I-REMOVED-IT-FOR-STACKOVERFLOW",
authDomain: "DOMAIN.firebaseapp.com",
databaseURL: "https://DOMAIN.firebaseio.com",
projectId: "PROJECTS_ID",
storageBucket: "DOMAIN.appspot.com",
messagingSenderId: "ID"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function(e=null) {
console.log("Granted!"+e);
return messaging.getToken();
})
.then(function(token) {
console.log(token);
})
.catch(function(err) {
console.log("Error! :: "+err);
});
</script>
</body>
</html>
答案 0 :(得分:0)
你做了一个错误的功能链,
2nd then()
必须在getToken()
之后,
<script>
var config = {
apiKey: "MY-API-KEY-IS-HERE-BUT-I-REMOVED-IT-FOR-STACKOVERFLOW",
authDomain: "DOMAIN.firebaseapp.com",
databaseURL: "https://DOMAIN.firebaseio.com",
projectId: "PROJECTS_ID",
storageBucket: "DOMAIN.appspot.com",
messagingSenderId: "ID"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function(e=null) {
console.log("Granted!"+e);
return messaging.getToken()
.then(function(token) {
console.log(token);
}).catch(function(err) {
console.log("Error! :: "+err);
});
})
</script>
</body>
</html>