[英]How to get Last Logout time of user in Openfire Server using php code
[英]Get last Last Logout details openfire using REST API
我们确实具有从服务器端发送离线群组推送通知的功能。
场景如下:-
应用程序已打开并转到群组消息选项卡。 现在向组发送消息,组的其他用户将收到我发送的消息。
通过从 ios 端关闭(终止或在后台)应用程序,他们将用户在线状态设置为离线。 因此,一旦应用程序关闭,他们将在移动设备上收到推送通知。
问题是关闭应用程序后,即使我阅读了相同的消息,我仍然在移动设备中收到推送通知。
从后端,我设置了一个 cron 作业,它每 30 秒在服务器上运行一次,并检查组中的用户是否存在,并向那些在手机上离线的用户发送推送通知。
那么有什么方法可以使用 REST API 获取上次注销时间戳,以便我可以设置条件并检查上次用户登录时间是否小于当前时间 accrodingly 推送通知将发送。
无法使用 REST API http://example.com:9090/plugins/restapi/v1/sessions/yourUserName获取上次注销时间
输出:-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <sessions>
<session>
<sessionId>yourUserName@example.com/1ae2xq14da</sessionId>
<username>yourUserName</username>
<ressource>1ae2xq14da</ressource>
<node>Local</node>
<sessionStatus>Closed</sessionStatus>
<presenceStatus>Online</presenceStatus>
<priority>0</priority>
<creationDate>2017-01-18T08:58:01.611Z</creationDate>
<lastActionDate>2017-01-18T08:58:05.121Z</lastActionDate>
<secure>false</secure>
</session>
</sessions>
通过执行上述方法获取创建日期和上次操作日期不正确。
1) 创建日期 :- 2017-01-18T08:58:01.611Z
2) lastActionDate :- 2017-01-18T08:58:05.121Z
http://example.com:9090/plugins/restapi/v1/users/yourUserName
哪个不输出上次登录时间戳
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
<username>yourUserName</username>
<name>yourUserName</name>
<email>yourUserName@example.com</email>
<properties/>
</user>
我们使用了REST API 插件
任何帮助将是appriciate。
用户状态插件完成了这项工作!
User Status Plugin 是 Openfire XMPP 服务器的插件,用于将用户状态保存到数据库。
这个插件会自动将每个用户和资源的最后状态(存在、IP 地址、登录和注销时间)保存到 Openfire 数据库中的 userStatus 表中。
您可以选择在指定时间内存档用户状态条目(IP 地址、登录和注销时间)。 历史条目存储在 userStatusHistory 表中。 历史存档的设置可以在 Openfire 管理控制台的“服务器”选项卡上的“用户状态设置”页面上进行配置。
该插件可在http://maven.reucon.com/projects/public/user-status 获得
根据该项目的网站,目前该插件仅适用于 MySQL。
因此,通过放置基于注销时间和消息时间推送通知发送的条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.