gpt4 book ai didi

ios - 如果应用程序进入后台模式,则会触发 Ondisconnect

转载 作者:搜寻专家 更新时间:2023-11-01 07:05:40 25 4
gpt4 key购买 nike

我有以下代码:

func OnlineStatus(userID: String){
handle = Auth.auth().addStateDidChangeListener { (auth, user) in
if let user = user {
// User is signed in.
self.UID = user.uid

self.connectedRef.observe(.value, with: { snapshot in
if let connected = snapshot.value as? Bool, connected {
// print("############################ Connected")
self.ref.child(self.UID!).child("OnlineStatus").setValue("ON")
} else {
// print("############################ Not connected")
self.ref.child(self.UID!).child("OnlineStatus").setValue("OFF")
}
self.ref.child(self.UID!).child("OnlineStatus").onDisconnectSetValue("OFF")
})
}}
}

该函数将在 viewWillAppear 中触发。这个想法是建立一个简单的存在系统。出于某种原因,当我将应用程序发送到后台而不是让我的 iPhone 进入休眠状态时,onDisconnect 被触发。我实际上希望只有当用户注销或失去互联网连接时,在线状态才会关闭。我的代码或设置有什么问题?

最佳答案

onDisconnect 事件会在客户端与 Firebase 数据库服务器断开连接时触发,这会在您的应用进入后台时发生。从 Firebase 的角度来看,用户在驶入隧道的火车上和他们的手机进入休眠状态之间没有区别。在这两种情况下,客户端和服务器之间的连接都会断开,因此 onDisconnect() 会触发。

您通常最终会使用 .info/connectedonDisconnect() 来设置最后一次看到用户的时间值,同时使用 onAuthStateChanged () 来设置正在登录的用户的状态标志。然后,您首先显示已登录的用户,按照他们最近活跃的顺序显示用户列表。

关于ios - 如果应用程序进入后台模式,则会触发 Ondisconnect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com