Я не слишком знаком с использованием объектов словаря и пытаюсь использовать этот код для сохранения некоторой базовой информации в базе данных Firebase, когда пользователь создает новую учетную запись.Пока это то, что у меня есть, но оно не записывает никаких данных.Может ли это быть из-за того, что мне уже нужно создать каталог в базе данных, или что-то еще происходит?
Я скопировал синтаксис непосредственно из документации, но я уверен, что я делаю что-то не так,FirebaseLogin - это еще один скрипт, из которого я извлекаю идентификатор пользователя и адрес электронной почты.
public class User
{
public string uid;
public string email;
public int round = 1;
public int lives = 3;
public int level = 1;
public int currentScore = 0;
public int totalScore = 0;
public User()
{
}
public User(string uid, string email, int round, int lives, int level, int currentScore, int totalScore)
{
this.uid = FirebaseLogin.currentUserId;
this.email = FirebaseLogin.currentEmail;
this.round = round;
this.lives = lives;
this.level = level;
this.currentScore = currentScore;
this.totalScore = totalScore;
}
public Dictionary<string, Object> ToDictionary()
{
Dictionary<string, Object> result = new Dictionary<string, Object>();
result["uid"] = uid;
result["email"] = email;
result["round"] = round;
result["lives"] = lives;
result["level"] = level;
result["currentScore"] = currentScore;
result["totalScore"] = totalScore;
return result;
}
}
public void AddNewUserData(string uid, string email, int round, int lives, int level, int currentScore, int totalScore)
{
DatabaseReference reference = Firebase.Database.FirebaseDatabase.DefaultInstance.RootReference;
string key = reference.Child("users").Push().Key;
User entry = new User(uid, email, round, lives, level, currentScore, totalScore);
Dictionary<string, Object> entryValues = entry.ToDictionary();
Dictionary<string, Object> childUpdates = new Dictionary<string, Object>();
childUpdates["/test1/" + key] = entryValues;
childUpdates["/test2/" + uid + "/" + key] = entryValues;
reference.UpdateChildrenAsync(childUpdates);
}