firebase.messaging.getToken() выдает исключение DOMException: Ошибка регистрации — ошибка службы push

# #javascript #reactjs #firebase #firebase-cloud-messaging #token

Вопрос:

Я делаю PWA. Мне нужно сохранить токен в firebase, но я получаю DOMException: Registration failed - push service error . Это return messaging.getToken(); приводит к ошибке, о которой я упоминал. Если я удалю оператор return, я получу сообщение об ошибке от firebase, потому что токен не определен по очевидным причинам.

Вот мой код:

 const messaging = firebase.messaging();
var perm;
function InitializeFirebaseMessaging(){
  messaging.requestPermission().then(function(){
    
    console.log("Notification permission");
    return messaging.getToken();
  }).then(function(token){
    
    console.log("Token: " token);
   
    firestore.collection("tokens").doc(auth.currentUser.email).set({
      mail: auth.currentUser.email,
      token: token 
  })//.then(() => {perm=true;});
  
  }).catch(function (reason){
    console.log(reason);
  });
  if(perm){
  ChatRoom();
  }
  return null;
}
messaging.onMessage(function (payload){
  
  console.log("payload:" payload);
});
messaging.onTokenRefresh(function () {
  messaging.getToken()
      .then(function (newtoken) {
        firestore.collection("tokens").doc(auth.currentUser.email).set({
          mail: auth.currentUser.email,
          token: newtoken 
      })//.then(() => {perm=true;console.log("New Token : "  newtoken);});
        
          
         
      })
      .catch(function (reason) {
          console.log(reason);
      })
});
 

Итак, мой вопрос в том, почему я не могу получить свой токен, почему я получаю ошибку, упомянутую выше? Я нажимаю «принять», когда он запрашивает разрешение, и после этого я получаю сообщение об ошибке.