如何显示ParseUser是否在线?

时间:2015-02-21 06:35:37

标签: android parse-platform

我在Android应用程序中实现了Parse。现在假设我的应用程序A和B.中有两个用户。如果B在线,我正在尝试维护一个布尔变量isOnline来检查用户的状态。现在B能够继续检查这个变量是否用户在线。但是我试图在B无法连接时设置isOnline为false。但是如果B无法连接且网络断开则问题就出现了我无法设置这个变量为false。实现它的确切方法是什么。 这是whatsApp中的场景。请帮助我。

1 个答案:

答案 0 :(得分:0)

你可以只使用Parse来实现,但我会推荐这个,因为效率非常低,并且会很快耗尽你的API调用。

对于此示例,假设刷新率为30秒。

当用户(用户 A )连接时(例如,应用程序已打开),则每隔30秒,您可以设置一些字段:object.set(“lastOnline”,currentTime)

如果用户离线,他们的“lastOnline”值将停止更新。

用户 B 还会轮询用户 A 对象,并查询 lastOnline 字段。所以说    user = user.get();    lastOnline = user.get(“lastOnline”)    if(time.now - lastOnline> 30秒){      用户离线    } else {      用户在线    }

我不推荐这种技术,因为用户 A 每30秒推送一次更新,而用户 B 每30秒就会拉下一个新对象。因此,每小时只有2个用户可以进行240次API调用。

使用像PubNub这样的平台和Parse一起使用可能会更好。使用PubNub处理聊天类型功能,以及Parse处理更通用的数据存储。