私たちはサーバー側からオフライングループプッシュ通知機能を備えています。最後のログアウトの詳細を取得するopenfire REST APIを使用
アプリケーションが開いており、グループメッセージ]タブに移動 - :
シナリオは以下の通りです。グループにメッセージを送信すると、グループの他のユーザーがメッセージを送信します。
iosエンドからアプリケーションを終了(終了またはバックグラウンド)すると、ユーザーのプレゼンスがオフラインに設定されます。したがって、アプリケーションが閉じられると、モバイルでプッシュ通知が取得されます。
問題はですが、私は同じメッセージを読んでもモバイルでプッシュ通知を受けています。
私は30秒ごとに、サーバー上で動作し、グループ内 checks the user presenceと自分の携帯でオフラインになっているそれらのユーザーにnotificaitonプッシュを送信するcronジョブを設定しているバックエンドから。
REST APIを使用して最後のログアウトタイムスタンプを取得する方法はありますか。したがって、条件を設定し、最後にログインしたユーザーが、notificaitonsが送信する現在時刻よりも小さいかどうかを確認できます。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <sessions> <session> <sessionId>[email protected]/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>
作成日と間違った最後のアクションの日付を取得する方法上で実行することにより - :出力のREST API http://example.com:9090/plugins/restapi/v1/sessions/yourUserName
を使用して、最後のログアウト時間を得るために
ことができません。
1)のCreationDate: - 2017-01-18T08:58:01.611Z
2)lastActionDate: - 2017-01-18T08:58:05.121Zhttp://example.com:9090/plugins/restapi/v1/users/yourUserName
最後にログインした出力をdoesnotタイムスタンプ
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <user> <username>yourUserName</username> <name>yourUserName</name> <email>[email protected]</email> <properties/> </user>
我々はappriciateだろう
どれヘルプREST API Pluginを使用していました。
プレゼンスをどのように管理しますか?ログインログアウト中に明示的にプレゼンスを送信しますか? – MrPk
@MrPkありがとうございます。ちなみに、チャット機能はiOS端末からのものなので、アプリケーションがバックグラウンドになったり、状態を停止したりすると、プレゼンスを管理してサーバを扱います。ユーザーが殺されるか、バックグラウンドでアプリケーションに入ると、ユーザーはオフラインになります。 –
私のexpirienceによって、Openfireがオフライン/オンラインステータスを明示的に存在せずにitselftによって管理できるようにすると、Last Activityが壊れます。あなたがバックグラウンドに行くか、アプリを殺す前にプレゼンスを送信してみてください。 – MrPk