Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定带有特定令牌的设备是否与firebase android联机?_Android_Push Notification_Firebase_Firebase Cloud Messaging - Fatal编程技术网

如何确定带有特定令牌的设备是否与firebase android联机?

如何确定带有特定令牌的设备是否与firebase android联机?,android,push-notification,firebase,firebase-cloud-messaging,Android,Push Notification,Firebase,Firebase Cloud Messaging,我想知道,如何才能使用firebase framework确定一个带有标记“a”的设备是否与另一个android设备联机?当应用程序启动时,您可以使用以确保在客户端脱机时删除特定数据。然后,您可以在其他地方查看数据是否存在(仍然在线)或不存在(现在离线) 本页说明如下: onDisconnect类允许您在运行时写入或清除数据 客户端与Firebase服务器断开连接。这些更新会发生 无论您的客户是否干净地断开连接,因此您可以依赖 即使连接断开或客户端断开,它们也可以清理数据 撞车 onDiscon

我想知道,如何才能使用firebase framework确定一个带有标记“a”的设备是否与另一个android设备联机?

当应用程序启动时,您可以使用以确保在客户端脱机时删除特定数据。然后,您可以在其他地方查看数据是否存在(仍然在线)或不存在(现在离线)

本页说明如下:

onDisconnect类允许您在运行时写入或清除数据 客户端与Firebase服务器断开连接。这些更新会发生 无论您的客户是否干净地断开连接,因此您可以依赖 即使连接断开或客户端断开,它们也可以清理数据 撞车

onDisconnect类最常用于管理中的状态 用于检测客户端数量的应用程序 已连接,当其他客户端断开连接时。请参阅脱机功能 了解更多信息

假设您的数据库中有一个在线用户列表。大概是这样的:

onlineUsers: {
  user1: true,
  user23: true,
  user100: true
}
onlineUsers: {
  user1: true,
  user100: true
}
该示例说明用户user1、user23和user100处于联机状态。假设user23联机,您希望firebase db反映该用户是否联机,请执行以下操作:

var disconnectRef = new Firebase('https://<YOUR-FIREBASE-APP>.firebaseio-demo.com/onlineUsers/user23');
disconnectRef.onDisconnect().remove();

如您所见,user23不再出现在列表中

但我认为这是做事情的安全方法。如果网络突然瘫痪怎么办?这个事件处理程序能完成它的工作吗?我想这是为了我不处理的数据库操作,但是再次感谢你的回答是的,这是安全的。即使在断开连接的情况下。我编辑了我的答案并提供了更多的信息。这很有趣。你的意思是我可以在
OnDisconnect
方法中调用HTTP post请求?例如,在我的服务器中调用一个改变状态的方法?我看到的所有信息都是关于数据库的。即使是
OnDisconnect
类也适用于用户断开与服务器的连接。我应该能够首先在我的客户端应用程序中运行代码。你能给我一个关于android的代码示例吗?