使用smack使用android实现FCM



我正在与XMPP合作以在我的Android应用程序中实现聊天,并且我使用了Smack API。我的聊天工作正常,我在本地保存所有聊天消息。遵循我当前面临的一些问题。

  1. 在聊天期间,如果连接以某种方式丢失,则需要花费很多时间再次重新连接,有时甚至没有连接。即使之后连接连接,停止发送聊天消息,因为它不再在另一侧收到。再次初始化资源,但有时起作用
  2. 如果我的用户断开了连接,我想使用FCM发送消息(离线)。我已经实施了其他事情及其工作的FCM美好的。但是我想知道,如果其他用户在离线的情况下,我如何将FCM与SMACK API一起使用。我正在尝试,但我不知道FCM的正确方式用XMPP实施。
  3. 我无法在聊天期间将用户在另一侧的存在。

请建议我XMPP(OpenFire)Smack实现的正确方法。因此,它像WhatsApp一样无缝地工作。在Internet重新连接后立即连接用户或以新实例等的方式进行活动。其1到1个聊天,即一次只有两个用户连接。预先感谢,请不要降级我的问题,因为我是XMPP实施中的新手。

  • 对于丢失的连接,您应该定义广播接收器以及连接下降时与openfire的密切连接时,并且何时重新连接再次重新连接,请确保您已连接和授权。

  • 对于离线用户,这是服务器端,如下以下时,当用户发送消息打开fire时,请检查最终用户是否在线向他转发给他,如果它是离线的,它将在database中保存消息,以及最终用户是否会保存消息出现开放式火灾要求将其发送给最终用户