2014-08-28 3 views
1

응용 프로그램 내에서 사용자는 알림을 구독하거나 구독을 취소 할 수 있습니다. 이 이벤트는 데이터베이스에서 사용자 가입을 등록 또는 삭제하는 Worklight 어댑터에 의해 처리됩니다.IBM Worklight - 애플리케이션이 제거되었는지 감지하고 알림 전송을 중지하는 방법은 무엇입니까?

앱을 구독 취소하지 않고 제거하는 경우 데이터베이스에 사용자 가입이 유지됩니다.

어떻게 처리 할 수 ​​있습니까?
Worklight에서 응용 프로그램 제거를 알리는 방법이 있습니까?


Idan 응답에서 설명한 것처럼 알림 공급자에 따라 일정 기간이 지나면 자동으로 Worklight에서 구독이 제거됩니다. "일반 제공자 요구 사항"및 "피드백 서비스"에 대한

http://developer.android.com/google/gcm/adv.html#unreg

https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html 봐 애플의 경우

방법 작업등을 진행? 매일 피드백 서비스를 확인한 다음 해당 알림을 제거합니까?

Android로 테스트 한 결과 WL 서버 콘솔에 알림이 "서버에서 알림을 거부했기 때문에 (등록되지 않음)"제거되었다는 메시지가 나타납니다.

응용 프로그램을 제거한 후 2 시간이 지났습니다. 응용 프로그램을 제거한 23 개의 알림을 보냈습니다.

이 "이벤트"에 대한 사용자 지정 처리기를 추가 할 수 있습니까? 설명서를 읽기

의 WL.Server.createEventSource 방법에서 "옵션"매개 변수 "onDeviceUnsubscribe"속성은 말한다 :

"장치 구독이 제거 될 때 호출되는 자바 스크립트 함수의 이름 클라이언트 요청 또는 정리 작업 "

정리 작업이란 무엇입니까? 내 첫 번째 생각은이 콜백은 우리가 논의하고있는 유스 케이스에서 호출 될 것이지만 나는 그것을 시도했고 통지가 자동으로 제거 될 때이 콜백은 호출되지 않는다.

현재 고객에게 SMS를 보내고 있습니다. 고객이 응용 프로그램을 설치할 때 SMS 대신 알림을 보내지 만 고객이 응용 프로그램을 제거하는 경우 SMS를 다시 보내기 시작한 경우이를 알아야합니다.

답변

0

Worklight Server는 응용 프로그램이 제거되었음을 사용자에게 알릴 수 없습니다. 이는 사용자가 제어 할 수없는 사용자 작업입니다.

즉,이 정확한 시나리오가 처리되기 때문에 걱정할 필요가 없습니다.
이 흐름입니다 :

이 경우 푸시 사용 응용 프로그램이 제거되어, 당신은 알림을 보내는 ...이 알림은 다음에 통지를 보내 APNS/GCM/MPN이 서버에 도착 장치에 표시됩니다.

앱이 더 이상 설치되지 않기 때문에 장치 OS는 APNS/GCM/MPNS 서버에 알림을 표시하지 못한 피드백을 제공합니다.

결국 APNS/GCM/MPNS 서버는 토큰이 더 이상 유효하지 않으며 구독이 데이터베이스에서 제거된다는 사실을 Worklight Server에 알립니다.

Worklight는 APNS/GCM/MPNS 서버가 위와 같은 경우 알림을 제어 할 수 없습니다. 자세한 내용은 해당 서비스 설명서를 참조하십시오.


편집 한 질문에 대한 추가 완전히 명확하지 않다, 그러나 여기 간다 :

  • APNS 토큰 무효가 - 단지 애플은 그것에 대해 말할 수 있습니다. 몇 분, 몇 시간, 며칠, 몇 주가 걸릴 수 있습니다 ... 모든 종류의 시나리오가 있으므로 특정 시간대를 보장 할 수 없습니다.

  • 정리 작업은 Worklight Server에서 오래된 구독을 제거하는 작업 일 가능성이 큽니다. 1 시간마다 실행되며 APNS 피드백 서비스에 연결되어 비활성 장치 목록을 검색합니다. 장치 목록을 수신하면 장치 구독을 데이터베이스에서 제거합니다.

  • onDeviceUnsubscribe - 기기가 구독 취소되면 onDeviceUnsubscribe이 트리거됩니다. 이 콜백은 개발자가 엔터프라이즈 백엔드 시스템에 더 이상 푸시 알림을받을 수 없으므로 백엔드가 더 이상 푸시 알림을받을 수 없도록 알릴 수있게하는 것입니다. 여기서 대신 백엔드 시스템에 SMS를 보내도록 지시 할 수 있습니다. 그러나 실제로 구현 했습니까 (콜백)?

+0

그래서 설명 된 흐름과 함께 알림을 보낸 후 워크 라이트 서버에서 자동으로 처리합니다. 이든 감사합니다. – Jxadro

+0

네,하지만이 사실은 Worklight에서 토큰 무효화를 수행하지 않았으므로 즉시 알 수있는 사항이 아닙니다. –

+0

@ JavierOrdax, 완전한 대답을 얻은 후에 질문의 배경을 변경했습니다 ... 멋지다. 귀하의 편집 내용에 따라 추가 할 내용이 있는지 확인하겠습니다. –

관련 문제