如何使用 Flutter 从 Firebase 获取当前活跃用户?

Asa*_*lik 8 android dart android-studio flutter google-cloud-firestore

我正在使用 flutter 和 firebase 制作应用程序。我需要从 firebase 获取活跃用户。我正在尝试通过在 firebase 集合中创建一个名称为isActive = false的布尔字段并启动一个名称为_checkInternetConnectivity();的函数在这个函数中,我设置了当互联网连接可用时,firebase 中 isActive = true 的更新值,当没有互联网连接时,更新值isActive = false到目前为止我的代码运行良好,但问题是当互联网连接可用时,它会设置isActive = true 的值,但是当没有互联网连接时,它无法更新值isActive = false
代码在这里:

void initState() {
    super.initState();
    _checkInternetConnectivity();
}

_checkInternetConnectivity() async {
    var connectivityResult = await (Connectivity().checkConnectivity());
    if (connectivityResult == ConnectivityResult.mobile) {
      FirebaseFirestore.instance.collection('Profile').doc(user.uid).update({
        'isActive': true,
      });
      print('done mobile');
    } else if (connectivityResult == ConnectivityResult.wifi) {
      _addData.doc(user.uid).update({
        'isActive': true,
      });
      print('done wifi');
    } else if (connectivityResult == ConnectivityResult.none) {
      FirebaseFirestore.instance.collection('Profile').doc(user.uid).update({
        'isActive': false,
      });
      print('done none');
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

那么,我如何改进此代码或任何其他方式,我可以通过颤振从 firebase 获取活跃用户。

问候

Kam*_*yan 1

断开连接时

OnDisconnect 类用于管理当客户端断开连接时将在服务器上运行的操作。它可用于根据客户端的连接状态添加或删除数据。它在寻找“存在”功能的应用程序中非常有用。

此类的实例是通过在 Firebase 数据库引用上调用 onDisconnect 来获取的。

您的解决方案就在这里