如何通过firebase获取网络推送通知令牌

时间:2021-05-13 09:06:25

标签: javascript firebase firebase-cloud-messaging

如何通过 localhost 的 firebase 获取网络推送通知令牌。 我正在使用路径 (http://127.0.0.1/folder_name/) 我的代码是

<script src="https://www.gstatic.com/firebasejs/8.5.0/firebase-app.js"></script>
<link rel="mainfest" href="manifest.json">
<script src="https://www.gstatic.com/firebasejs/8.5.0/firebase-messaging.js"></script>

index.php 文件-

<script>
    var firebaseConfig = {      
      apiKey: "AIzxxxxUc",
                    authDomain: "lxxx.com",
                    databaseURL: "https://lexxxcom",
                    projectId: "lexxxxt",
                    storageBucket: "lexxx.com",
                    messagingSenderId: "8xxxxx5",
                    appId: "1:8748xxxxe",
                    measurementId: "GxxxxH"
    };
    firebase.initializeApp(firebaseConfig)
    const messaging=firebase.messaging();
        messaging.requestPermission().then(function () {
                console.log("Notification Permission granted.");
        getRegisterToken(); // i am calling to function get token id
                }).catch(function (err) {
                console.log('Unable to get Permission to notify.',err);
            });
             function getRegisterToken() {

                      messaging.getToken().then(function (newtoken) {
                            if(newtoken){
                                 console.log(newtoken);
                                sendTokenToServer(newtoken);
                                }else{
                                  console.log("No Instance ID token avalible. Request Permission to generate one.");
                                  setTokenSentToServer(false);
                                }
                          }).catch(function (err) {

                           console.log('An error occurred while retrieving token. ', err);
    setTokenSentToServer(false);
                                 
                      });
                     }

                  function setTokenSentToServer(sent){
                  window.localStorage.setItem('sentToServer',sent ? '1':'0');
                  }


manifest.json-
{
  "name": "Push Notifications app",
  "gcm_sender_id": "8xxxx5"
}

尝试在本地主机上获取令牌 ID 时出现此错误我在浏览器中的控制台期间使用此错误

Notification Permission granted.
(index):64 An error occurred while retrieving the token.  FirebaseError: Messaging: We are unable to register the default service worker. Failed to register a ServiceWorker for scope ('http://127.0.0.1/firebase-cloud-messaging-push-scope') with the script ('http://127.0.0.1/firebase-messaging-sw.js'): A bad HTTP response code (404) was received when fetching the script. (messaging/failed-service-worker-registration).
    at rt.<anonymous> (https://www.gstatic.com/firebasejs/8.5.0/firebase-messaging.js:1:37084)
    at https://www.gstatic.com/firebasejs/8.5.0/firebase-messaging.js:1:2003
    at Object.throw (https://www.gstatic.com/firebasejs/8.5.0/firebase-messaging.js:1:2108)
    at i (https://www.gstatic.com/firebasejs/8.5.0/firebase-messaging.js:1:906)

现在我想在 localhost 服务器上获取令牌 ID,它显示一些错误身份证

0 个答案:

没有答案
相关问题