unity-从Firebase数据库检索数据

Pau*_*mar 1 c# unity-game-engine firebase firebase-realtime-database unity5

我是Firebase的新手,也是Unity的新手(同样,这是我的第一个堆栈交换文章)。我知道如何写入Firebase,但不知道如何从数据树中检索。

我的数据的结构方式(大致)如下:

{
Users:{
    "Email": , 
    "Password":
    }
}
Run Code Online (Sandbox Code Playgroud)

我将如何访问用户的元素并检索其电子邮件和密码之类的东西?

Jas*_*ney 5

我和你在同一条船上(无论是对火力阵营还是对团结来说都是新手),但是类似下面的内容对我来说却很有效。我未经测试就将其调整为适合您的方案,因此可能会有一些小错误,但它应该可以帮助您入门。也许更有经验的人可以对此进行改进。我故意保留有关正确处理密码的详细信息。

   //assuming
         public class User {


            public string email;
            public string password;

            public User (string email, string password) {
                this.email = email;
                this.password = password;
            }
        }

    //inside some class
        public void AddUser(){
          User user = new User("email@email.com", "password");
          string json = JsonUtility.ToJson(user);
          Firebase.Database.DatabaseReference dbRef = Firebase.Database.FirebaseDatabase.DefaultInstance.RootReference
          dbRef.Child("users").Push().SetRawJsonValueAsync(json);
        }

        public void GetUsers(){
          Firebase.Database.FirebaseDatabase dbInstance = Firebase.Database.FirebaseDatabase.DefaultInstance;
          dbInstance.GetReference("users").GetValueAsync().ContinueWith(task => {
                    if (task.IsFaulted) {
                        // Handle the error...
                    }
                    else if (task.IsCompleted) {
                      DataSnapshot snapshot = task.Result;
                      foreach ( DataSnapshot user in snapshot.Children){
                        IDictionary dictUser = (IDictionary)user.Value;
                        Debug.Log ("" + dictUser["email"] + " - " + dictUser["password"]);
                      }
                    }
          });
Run Code Online (Sandbox Code Playgroud)