没有数据库的Firebase PERMISSION_DENIED推送通知

时间:2018-08-29 12:35:46

标签: javascript firebase firebase-realtime-database firebase-security-rules

我正在使用Firebase,以便在我的Web应用程序中使用“推送通知”。并启动此错误:

  

未处理的承诺拒绝:PERMISSION_DENIED:权限被拒绝;区域:任务:WebSocket.addEventListener:message;值:错误:PERMISSION_DENIED:权限被拒绝

我已阅读到它似乎与拒绝数据库权限有关的错误。它解决了更改写入和读取权限的问题。但就我而言,我的数据库中没有firebase。

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

下面的代码:

const userId = 'user001';
this.messagingService.requestPermission(userId);
this.messagingService.receiveMessage();
this.message = this.messagingService.currentMessage;

当我请求许可时,我基于userId对Firebase DB进行令牌更新。就我而言,也许不需要这样做?(我现在不使用数据库)如何替换呢?

 requestPermission(userId) {
    this.messaging.requestPermission()
      .then(() => {
        console.log('notification permission granted.');
        return firebase.messaging().getToken();
      })
      .then(token => {
        console.log(token);
        this.updateToken(userId, token);
      })
      .catch((err) => {
        console.log('Unable to get permission to notify.', err);
      });
  }

有人可以帮我吗?

0 个答案:

没有答案