作者:ranger | 来源:互联网 | 2023-05-17 15:16
Ihaveausertouserapp.iftheuserloseinternetconnectionIwantfirebasetoqueryisUserLogo
I have a user to user app. if the user lose internet connection I want firebase to query "isUserLogon:false". I use ondisconnect
this work fine when the user terminate the app but not when they are disconnected from the internet. What is the best solution to resolve. Im assuming because there is no connection firebase cannot update. If the user is disconnected from the internet i don't want firebase to think they are still active when they are not, how do other apps handle this scenario.
我有一个用户到用户应用程序。如果用户失去了互联网连接,我希望firebase查询“isUserLogon:false”。当用户终止应用程序时,我使用ondisconnect这项工作正常,但当他们与互联网断开连接时却没有。什么是最好的解决方案。我假设因为没有连接firebase无法更新。如果用户与互联网断开连接,我不希望firebase认为他们还没有活动,那么其他应用程序如何处理这种情况。
let path = "rquest/frontEnd/users/\(self.currentUserId()!)"
let myCOnnectionsRef= FIRDatabase.database().reference(withPath: path).child("isUserLogon")
let lastOnlineRef= FIRDatabase.database().reference(withPath: path).child("lastOnline")
let cOnnectedRef= FIRDatabase.database().reference(withPath: ".info/connected")
connectedRef.observe(.value, with: { snapshot in
// only handle connection established (or I've reconnected after a loss of connection)
guard let cOnnected= snapshot.value as? Bool, connected else { return }
// add this device to my connections list
// this value could contain info about the device or a timestamp instead of just true
let con = myConnectionsRef
con.setValue(true)
// when this device disconnects, remove it
con.onDisconnectSetValue(false)
// when I disconnect, update the last time I was seen online
lastOnlineRef.onDisconnectSetValue("Date here")
})
1 个解决方案