如何检测Firebase连接是否在线/离线-Unity

时间:2018-12-25 00:24:35

标签: firebase unity3d firebase-realtime-database

我在网上找到的唯一解决方案是针对Android而非Unity,方法是听('.info/connected') 就像这里-Detect if Firebase connection is lost/regained

但是我尝试了一下,但是它不起作用(试图将他们的Android解决方案转换为C#)-

    DatabaseReference connectedRef = FirebaseDatabase.DefaultInstance.GetReference(".info/connected");
    connectedRef.ValueChanged += (object sender, ValueChangedEventArgs a) => {
        bool isConnected = (bool)a.Snapshot.Value;
        print("isConnected" + isConnected);
    };

当我尝试我的代码时:

测试1:

  • 已连接到互联网-启动应用程序

  • log- isConnected = true

  • 断开与互联网的连接
  • 许多套接字错误,不再调用isConnected(仍然为真)

测试2:

  • 已断开与互联网的连接-启动应用程序

  • log- isConnected = false

  • 很多套接字错误
  • 连接到互联网
  • log- isConnected = true

这意味着=侦听器不在离线模式下工作 而我之所以仅在测试#2上获得isConnected = false的原因是因为该函数在启动时被调用一次...

如何确定用户何时未连接?这很重要,因为在用户再次联机之前,我必须手动管理所有内容-更新数据库。

0 个答案:

没有答案