我目前正在 facebook 中开发一个应用程序,其中包含登录用户的朋友列表并显示他们的在线状态。为此,我使用了以下 FQL 查询:
SELECT name,uid, online_presence FROM user WHERE online_presence IN ('active', 'idle') AND uid IN ( SELECT uid2 FROM friend WHERE uid1 = me())
friends_online_presence
是一个扩展权限并返回 Facebook 聊天状态(一个字符串,活动、空闲、离线或错误之一)。
我的问题是如何获得朋友在线状态变化的实时更新?
选项 1: 在后台进程中定期查询 Facebook API
选项 2: 连接 XMPP 以获取实时更新(下面重复问题的答案)。
人们在此之前也问过这个问题,这里有一些重复(未解决):
facebook-api-real-time-friends-online-presence-update &
Is-it-possible-to-subscribe-to-real-time-updates -for-user-online-presence。
我想知道是否有人解决了这个问题,如果是,你是如何解决的。
如果您能详细说明一下选项 2(使用 XMPP/Jabber),那就太好了,因为当用户数量较少时,我觉得定期查询只够了一段时间。