在 Firebase 上与朋友分享数据

Share data with friends on Firebase

我目前正在开发一个应用程序,它需要一个服务器后端来同步设备和朋友之间的数据。因此,在研究是否应该制作自己的服务器(我不想这样做)时,我偶然发现了 Firebase。

我还没有弄明白的是 public 数据是怎样的。根据我的理解,我发送的任何内容都可以被我的应用程序的每个用户看到。我看到你可以定义像 "The user needs to be logged in" 这样的规则,但是我可以指定某个 child 只对创建它的用户可见吗?然后,有没有办法邀请其他用户在 child 上进行协作?这样现在只有创建者和受邀用户可以看到 child?

我的应用一开始会在 iOS 上 运行,但我想这与我的问题无关,是吗?

是的,你可以这样做,你可以设置安全规则,只允许具有特定 UID(firebase 用户 ID)的用户写入或读取数据,就像这个例子...

"users": {
  "$uid": {
    ".read": "auth != null && auth.uid == $uid"
  }
}

还可以使用自定义身份验证创建自定义声明以授予不同的访问级别(例如管理员、编辑器等)

示例...

"frood": {
  // A towel is about the most massively useful thing an interstellar
  // hitchhiker can have
  ".read": "auth.hasEmergencyTowel === true"
}

对于邀请部分..您也可以像本例中那样使用子节点作为参考来授予权限...

".read": "data.child(auth.uid).exists()",

在最后一种情况下..如果请求的数据路径有一个子键等于试图访问它的客户端的 uid,则信息将能够读取数据,

所有详细信息都在这里:

https://firebase.google.com/docs/database/security/user-security#section-revisiting-advanced-example