我在网上找到的唯一解决方案是针对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
测试2:
已断开与互联网的连接-启动应用程序
log- isConnected = false
isConnected = true
这意味着=侦听器不在离线模式下工作
而我之所以仅在测试#2上获得isConnected = false
的原因是因为该函数在启动时被调用一次...
如何确定用户何时未连接?这很重要,因为在用户再次联机之前,我必须手动管理所有内容-更新数据库。