FIREBASE WARNING:设置为/ notifications / failed:permission_denied

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FIREBASE WARNING:设置为/ notifications / failed:permission_denied相关的知识,希望对你有一定的参考价值。

我按照教程here的说明进行操作。唯一的区别是我将订阅和发送通知分成两个不同的页面。这是Subscribe Page,这里是Dashboard

问题是在用户成功订阅并且我尝试在仪表板中推送通知之后,我收到错误

FIREBASE WARNING: set at /notifications/-L6ZAsl77V-patpjL8vT failed: permission_denied

但是将它与tutorial/demo进行比较,没有错误,并且消息被推送通过最终用户。

有任何想法吗?

数据库安全规则:

{
  "rules": {
    "tokens": {
        ".indexOn": ["uid", "token"],
        ".read": "auth != null",
        ".write": "auth != null",
        "$token": {
            ".validate": "newData.hasChildren(['uid', 'token']) && newData.child('uid').val() == auth.uid"
        }
    },
    "notifications": {
        ".read": "auth != null",
        ".write": "auth != null",
        "$notification": {
            ".validate": "newData.hasChildren(['user', 'message', 'userProfileImg'])"
        }
    }
  }
}
答案

这是一个愚蠢的错误。我认为演示和我自己之间的比例是1:1。

在我的一个JS文件中,它假设调用/notifications,我删除了useruserProfileImg而没有更新database.rule.json中的规则。它仍然是:

 "$notification": {
      ".validate": "newData.hasChildren(['user', 'message', 'userProfileImg'])"
 }

当我从json文件中删除'user''userProfileImg'时,一切都恢复了。

以上是关于FIREBASE WARNING:设置为/ notifications / failed:permission_denied的主要内容,如果未能解决你的问题,请参考以下文章

Firebase iOS 设置 - 无 senderID

Warning: date(): It is not safe to rely on the system's timezone settings.

com.google.firebase.FirebaseException:发生内部错误。 [ CONFIGURATION_NOT_FOUND ]

在 iOS 上设置 Firebase 通知时出错

sourceTree git 空目录从远程仓库克隆代码出现warning: templates not found

warning: the `gets' function is dangerous and should not be used.(转)