2016-11-10 45 views
0

我們正在開發IOS和Android上的xmpp應用程序。我們使用ejabberd作爲XMPP服務器,我們還使用mod_interact(https://github.com/adamvduke/mod_interact)通知我們的網絡服務器發送推送通知到客戶對他們的離線消息: 流程是這樣的:XMPP上的GroupChat推送通知

  1. 發送者將消息發送到ejabberd
  2. ejabberd接收消息並檢查receipant在線
  3. 如果receipant離線ejabberd保存離線消息
  4. 當ejabberd收到離線消息mod_interact工程和郵件傳遞到我們的網絡服務器
  5. Web服務器查找有關客戶端推送通知信息併發送推送通知

其工作在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將提高,任何一個不在場的可用的離線。