Issue
Hy, what is the best way to show in an app if the user is online or offline?
Frontend -> Flutter
Backend -> Firestore Cloud and Firebase Auth.
I have a collection of users in firestore that contains documents. Each document is a user and contain “status” field. In flutter i can update this field every time that user sign in or log out but if you close the app it is not updated.
Solution
You can extend your statefulWidget State class with WidgetsBindingObserver
like
class _HomePageState extends State<HomePage>
with WidgetsBindingObserver
and initState
method add WidgetsBinding.instance.addObserver(this);
.
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
Later overide didChangeAppLifecycleState
method
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state AppLifecycleState.resumed)
//TODO: set status to online here in firestore
else
//TODO: set status to offline here in firestore
}
Answered By – Harsha pulikollu