2016-11-10 3 views
0

IOS 및 Android에서 xmpp 응용 프로그램을 개발 중입니다. 오프라인 메시지를 클라이언트에 푸시 알림을 보내 우리의 웹 서버를 알리기 위해 우리는 XMPP 서버로 ejabberd를 사용하고 우리는 또한 mod_interact (https://github.com/adamvduke/mod_interact)를 사용하는 : 흐름이 같다 :XMPP에서 GroupChat 푸시 알림

  1. 보낸 사람이 ejabberd에 메시지를 전송 receipant 오프라인 ejabberd 오프라인 메시지가 ejabberd에 의해 받았을 때 작동하고 우리의 웹 서버에 메시지를 전달 mod_interact 오프라인 메시지
  2. 을 절약 할 경우
  3. ejabberd는 메시지를 수신하고 receipant는
  4. 온라인인지 확인
  5. 웹 서버는 클라이언트에 대한 푸시 알림 정보를 찾아 푸시 알림 잘 1 1 채팅 작업

그에게 보냅니다. 하지만 그룹 채팅 (MUC)에서 mod_interact가 작동하지 않아 그룹 수취인에게 푸시 알림을 보낼 수 없습니다. 1 대 1과 그룹 채팅에서이 문제를 해결할 수있는 다른 해결책을 알고 계십니까?

감사

답변

0

ejabberd_mod_offline_post에, 그것은 one2one과 MUC를 모두 지원합니다.

  1. 첫 번째 구성 방은 구성원 전용 공간이어야하며, 모든 사용자를 작성한 직후에 구성원을 추가하여 합계를 얻을 수 있도록하십시오.
  2. 위의 모델을 ejabberd 모델에 추가하십시오.
  3. 콜백 게시를 처리하기 위해 콜백 서비스를 구현합니다.

사용자가 오프라인으로 전환 할 때 아이디어는 다음과 같습니다, offline_message_hook이 MUC 경우

  • 을 발생합니다 일대일 경우

    • 을 muc_filter_message 제기 될 것이고, 하나 Presence-하지 사용할 수있는 오프라인입니다.