我正在构建一个聊天应用程序在Flutter Web,并希望添加一个功能,当用户是"在线"标记。
我想在用户启动和关闭应用程序时(例如,当用户启动Flutter Web URL =true
被发送到Firestore
为isOnline
标志时)发送bool
到Firebase Firestore
。当用户关闭tap =false
被发送到isOnline
)。
为此,我需要一种方法来检测Flutter Web应用程序的生命周期,并检查应用程序当前是否正在积极运行。
有谁知道最好的方法是什么吗?谢谢!
当用户打开你的应用程序时,你可以很容易地更新你的firestore(只需将其添加到启动时执行的点,就像在主方法的runApp()部分之前)。然而,遗憾的是,没有保证的方法知道,如果用户关闭你的应用程序。它可以通过任务管理器等强制关闭,剥夺了你检测它的能力。但是,firebase提供了以下解决方案来检测存在,请参阅此处。
您还可以将时间戳保存为isOnline点并让它超时。你可以在你的应用程序中定期更新它,如果用户在线,给你一个不完美但可能足够好的想法。