【问题标题】:Unity Firebase ValueChangedUnity Firebase 值已更改
【发布时间】:2019-03-13 00:55:26
【问题描述】:

所以我尝试在 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);
}

我希望它在“Leaders”发生变化时告诉我它的新值,但是它只触发一次,我找不到让它运行多次的解决方案。

【问题讨论】:

  • 您的HandleValueChanged 应该被调用:立即使用来自数据库的Leaders 的当前值,然后每当Leaders 下发生变化时。如果后者没有发生在你身上,你能解释一下你是如何测试的吗?

标签: c# firebase unity3d firebase-realtime-database


【解决方案1】:

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

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

与:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 2011-07-09
    • 2021-08-27
    相关资源
    最近更新 更多