2016-12-16 55 views
7

我正在使用XMPP在我的Android應用程序中實現聊天功能,並且我使用了Smack API。我的聊天工作正常,我在本地保存Android設備上的所有聊天消息。以下是我目前面臨的一些問題。使用Smack for Android實現帶XMPP的FCM

  1. 在聊天過程中,如果以某種方式連接丟失,然後它需要太多的時間來重新連接 再次,有時它甚至不被連接。該 連接連接即使之後,它停止 發送聊天消息,因爲它沒有在對方anymore.I接收已 再次初始化的資源,但它的工作原理有時
  2. 我想用FCM如果我的用戶是發送消息斷開連接 (離線)。我爲其他事情實施了FCM,並且其工作 罰款。但是我想知道如果用戶在別處離線時我如何使用帶有SMACK API的FCM。我正在嘗試,但我不知道使用XMPP實現FCM 的正確方法。
  3. 在聊天過程中,我無法在用戶的另一側出現。

請給我建議XMPP(openfire)smack實現的正確方法。所以,它可以像WhatsApp一樣無縫工作。用戶在互聯網重新連接或活動打開後立即連接成新的實例等。它的1對1聊天,即一次只有兩個用戶連接。提前致謝,請不要降級我的問題,因爲我是XMPP實施方面的新手。

+0

我有同樣的問題,有時我甚至沒有得到一個斷開的回調。 「重新連接」後,它不會將消息發送到FCM。 –

+0

我也面臨同樣的問題。請幫助 – Rajinder

+0

我也遭受同樣的痛苦。任何人都請幫忙。 –

回答

-1
  • 對於連接丟失,你應該定義廣播接收器,當連接到openfire密切的聯繫,當它出現時再重新連接,確保您連接和授權。

  • 對於脫機用戶,這是服務器端,如下當用戶發送消息開火檢查,如果網上的最終用戶,然後將其轉發給他的信息,如果是離線它將database保存消息,如果最終用戶來打開火問火基地發送給最終用戶