Javascript 如何修复Firebase中的错误=丢失注册?

Javascript 如何修复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"></

index.html

<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