Итак, я пытаюсь получить данные из firebase с помощью этого кода в Unity:
public void Start()
{
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://unity-f82f6.firebaseio.com");
reference = FirebaseDatabase.DefaultInstance.RootReference;
FirebaseDatabase.DefaultInstance.GetReference("Leaders").ValueChanged += HandleValueChanged;
}
void HandleValueChanged(object sender, ValueChangedEventArgs args)
{
if (args.DatabaseError != null)
{
Debug.LogError(args.DatabaseError.Message);
return;
}
Debug.Log(args.Snapshot);
}
И я хочу, чтобы он сообщал мне новое значение «Лидеров» при его изменении, однако он срабатывает только один раз, и я не могу найти решение, которое заставит его запускаться несколько раз.





Вот решение для изменения: (в моем проекте все работает нормально)
FirebaseDatabase.DefaultInstance.GetReference("Leaders").ValueChanged += HandleValueChanged;
с участием:
reference.GetReference("Leaders").ValueChanged += HandleValueChanged;
Ваш
HandleValueChangedдолжен вызываться: сразу с текущим значениемLeadersиз базы данных, а затем всякий раз, когда что-то меняется подLeaders. Если последнее не происходит для вас, можете ли вы объяснить, как вы это проверяете?