서버 끝에서 오프라인 그룹 푸시 알림 기능이 있습니다.
시나리오는 다음과 같습니다.
응용 프로그램이 열려 있고 그룹 메시지 탭으로 이동합니다. 이제 그룹에 메시지를 보내면 그룹의 다른 사용자가 내가 보낸 메시지를 받게됩니다.
iOS 끝에서 응용 프로그램을 종료 (종료 또는 백그라운드)하면 사용자의 현재 상태가 오프라인으로 설정됩니다. 따라서 애플리케이션이 종료되면 모바일에서 푸시 알림을 받게됩니다.
문제는 응용 프로그램을 닫는 것인데, 동일한 메시지를 읽었음에도 불구하고 모바일에서 푸시 알림을 받고 있습니다.
백엔드에서 30 초마다 서버에서 실행되는 cron 작업을 설정 하고 그룹 의 사용자 존재 를 확인 하고 모바일에서 오프라인 상태 인 사용자에게 푸시 알림을 보냅니다.
그래서 REST API를 사용하여 마지막 로그 아웃 타임 스탬프를 얻는 방법이 있으므로 조건을 입력하고 마지막 사용자 로그인 시간이 현재 시간보다 작은 지 확인할 수 있습니다.
REST API http://example.com:9090/plugins/restapi/v1/sessions/yourUserName을 사용하여 마지막 로그 아웃 시간을 가져올 수 없습니다 .
출력하는 :-
<?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>
위의 방법을 실행하면 생성 날짜와 마지막 작업 날짜가 잘못되었습니다.
1) creationDate :-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>[email protected]</email>
<properties/>
</user>
우리는 사용하고 REST API 플러그인
모든 도움이 적절할 것입니다.
User Status Plugin 이 작업을 수행했습니다!
User Status Plugin은 데이터베이스에 사용자 상태를 저장하는 Openfire XMPP 서버용 플러그인입니다.
이 플러그인은 사용자 및 리소스 별 마지막 상태 (현재 상태, IP 주소, 로그온 및 로그 오프 시간)를 Openfire 데이터베이스의 userStatus 테이블에 자동으로 저장합니다.
선택적으로 지정된 시간 동안 사용자 상태 항목 (IP 주소, 로그온 및 로그 오프 시간)을 보관할 수 있습니다. 기록 항목은 userStatusHistory 테이블에 저장됩니다. 기록 보관 설정은 Openfire 관리 콘솔의 "서버"탭에있는 "사용자 상태 설정"페이지에서 구성 할 수 있습니다.
플러그인은 http://maven.reucon.com/projects/public/user-status 에서 사용할 수 있습니다 .
프로젝트 웹 사이트에 따르면 현재이 플러그인은 MySQL에서만 작동합니다.
따라서 로그 오프 시간과 메시지 시간을 기준으로 조건을 설정하여 푸시 알림이 전송됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다