首页 > 解决方案 > Unity Firebase 值已更改

问题描述

因此,我尝试在 Unity 中使用以下代码从 firebase 接收数据:

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);
}

我希望它在更改时告诉我“领导者”的新值,但是它只触发一次,我找不到可以让它运行多次的解决方案。

标签: c#firebaseunity3dfirebase-realtime-database

解决方案


这是更改的解决方案:(在我的项目上工作正常)

FirebaseDatabase.DefaultInstance.GetReference("Leaders").ValueChanged += HandleValueChanged;

和:

reference.GetReference("Leaders").ValueChanged += HandleValueChanged;

推荐阅读