Javascript 如何修复Firebase中的错误=丢失注册?
index.htmlJavascript 如何修复Firebase中的错误=丢失注册?,javascript,php,jquery,firebase-notifications,Javascript,Php,Jquery,Firebase Notifications,index.html <html> <title>Firebase Messaging Demo</title> <style> div { margin-bottom: 15px; } </style> <body> <div id="token"></div> <div id="msg"></
<html>
<title>Firebase Messaging Demo</title>
<style>
div {
margin-bottom: 15px;
}
</style>
<body>
<div id="token"></div>
<div id="msg"></div>
<div id="notis"></div>
<div id="err"></div>
<script src="https://www.gstatic.com/firebasejs/7.2.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.2.1/firebase-messaging.js"></script>
<!-- For an optimal experience using Cloud Messaging, also add the Firebase SDK for Analytics. -->
<script src="https://www.gstatic.com/firebasejs/7.2.1/firebase-analytics.js"></script>
<script>
MsgElem = document.getElementById("msg");
TokenElem = document.getElementById("token");
NotisElem = document.getElementById("notis");
ErrElem = document.getElementById("err");
// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
apiKey: "AIzaSyCi6tjFP-VV71i__mHWgAN3uHkV3QXpPQv",
authDomain: "my-app-3ab21.firebaseapp.com",
databaseURL: "https://my-app-3ab21.firebaseio.com",
projectId: "my-app-3ab21",
storageBucket: "my-app-3ab21.appspot.com",
messagingSenderId: "368038679727",
appId: "1:368038679725:web:fb79116bcac4c6894be225"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging
.requestPermission()
.then(function () {
MsgElem.innerHTML = "Notification permission granted."
console.log("Notification permission granted.");
// get the token in the form of promise
return messaging.getToken()
})
.then(function(token) {
TokenElem.innerHTML = "token is : " + token
})
.catch(function (err) {
ErrElem.innerHTML = ErrElem.innerHTML + "; " + err
console.log("Unable to get permission to notify.", err);
});
messaging.onMessage(function(payload) {
console.log("Message received. ", payload);
NotisElem.innerHTML = NotisElem.innerHTML + JSON.stringify(payload);
//kenng - foreground notifications
const {title, ...options} = payload.notification;
navigator.serviceWorker.ready.then(registration => {
registration.showNotification(title, options);
});
});
</script>
</body>
</html>
Firebase消息传递演示
div{
边缘底部:15px;
}
MsgElem=document.getElementById(“msg”);
TokenElem=document.getElementById(“令牌”);
NotisElem=document.getElementById(“notis”);
ErrElem=document.getElementById(“err”);
//初始化Firebase
//TODO:替换为项目的自定义代码段
变量配置={
apiKey:“AIzaSyCi6tjFP-VV71i__mHWgAN3uHkV3QXpPQv”,
authDomain:“my-app-3ab21.firebaseapp.com”,
数据库URL:“https://my-app-3ab21.firebaseio.com",
projectId:“my-app-3ab21”,
storageBucket:“my-app-3ab21.appspot.com”,
messagingSenderId:“368038679727”,
appId:“1:3680386725:web:fb79116bcac4c6894be225”
};
firebase.initializeApp(配置);
const messaging=firebase.messaging();
消息传递
.requestPermission()
.然后(函数(){
MsgElem.innerHTML=“已授予通知权限。”
log(“已授予通知权限”);
//以承诺的形式获得代币
返回消息。getToken()
})
.then(功能(令牌){
TokenElem.innerHTML=“令牌是:”+令牌
})
.catch(函数(err){
ErrElem.innerHTML=ErrElem.innerHTML+“;”+err
log(“无法获得通知权限”,错误);
});
onMessage(函数(有效负载){
console.log(“收到消息”,有效载荷);
NotisElem.innerHTML=NotisElem.innerHTML+JSON.stringify(有效负载);
//kenng-前台通知
const{title,…options}=payload.notification;
navigator.serviceWorker.ready.then(注册=>{
注册。展示通知(标题、选项);
});
});
卷曲测试(shell脚本)
curl-X POST-H“授权:key=AAAAVbDQlK0:APA91bGz7rxEi96dfTvCaHoqx0za\u mNZzLEuqdebRuJ\u h2cv1zbukqkbjvxaca5nubismiqqqx0p6suqzibt\u x9mgDf\u 0mrtg2fhyg5dygjvckdyp\u fha969Rfn4jTQ7G30yJx”—H“内容类型:应用程序/json”\
-d'{
“数据”:{
“通知”:{
“标题”:“FCM消息”,
“正文”:“这是一条FCM消息”,
“图标”:“/itwonders web logo.png”,
}
},
“至”:”
}' https://fcm.googleapis.com/fcm/send
我正在使用FCM创建一个web应用程序推送通知,当我运行它时,然后要求我允许或阻止通知,当我允许通知时,它会显示令牌和一条消息授予的通知权限。但当我试图通过邮递员推送通知以获取curl
文件的消息时然后通过一个错误,即error=MissingRegistration
那么,我怎样才能解决这个问题呢?请帮帮我
多谢各位
curl -X POST -H "Authorization: key=AAAAVbDQlK0:APA91bGz7rxEi96dfTvCaHoqx0za_mNZzLEuqdebRuJ_h2Cv1zbuKqkBJvXaCA5nuBiSmiYqQX0p6sUqZIbT_x9mgDf_0MrTg2fYeG0ecng5dmygJVckdYp_fha969Rfn4jTQ7G30yJx" -H "Content-Type: application/json" \
-d '{
"data": {
"notification": {
"title": "FCM Message",
"body": "This is an FCM Message",
"icon": "/itwonders-web-logo.png",
}
},
"to": "<DEVICE_REGISTRATION_TOKEN>"
}' https://fcm.googleapis.com/fcm/send