我在iOs和php网站上使用openfire进行聊天应用。一切都很好。
当对手用户离线并且您正在向该用户发送消息时(对于离线消息的简短推送通知),我还实施了推送通知。我已经实现了以上内容:Openfire offline notification through PHP
现在,客户要求我再实施一项功能,其中包括:
但现在没有任何可用于跟踪用户状态的挂钩。那么如何实现呢?
我尝试了什么
我还试过一个技巧,我向所有用户发送广播消息,如果有任何用户离线,那么我的 CallbackOnOffline 插件将会调用,但这里的没有向远程发送广播消息用户
答案 0 :(得分:1)
您可以尝试使用Presence.Type.unavailable
Openfire有一个ConnectionCloseListener(在SessionManager类中),可以激活Presence不可用。
如果您阅读了课程评论,则说明
// Send an unavailable presence to the user's subscribers
// Note: This gives us a chance to send an unavailable presence to the
// entities that the user sent directed presences
所以可能有一个管理用户可以自动订阅所有用户,重新启用在线状态,这样你就可以直接截取该用户的数据包来发送你的电子邮件。 / p>
使用相反的逻辑,您将能够强制直接存在您控制的内容并拦截此实体不可用的存在