Android 使用Smack将自己的用户与xmpp聊天客户端集成

Android 使用Smack将自己的用户与xmpp聊天客户端集成,android,xmpp,smack,Android,Xmpp,Smack,我在安卓上摆弄,对于如何将我自己的数据库用户与这个XMPP客户端集成,我完全感到困惑。据我所知,XMPP有自己的用户和组的概念,以及他们的登录凭证。此外,它们还有聊天室和聊天管理器的助手对象 我有自己的用户数据库,以及我想存储在服务器和设备上的聊天信息。假设用户的id为-id1。现在: 如何对用户进行身份验证,我的意思是什么是凭据 如何侦听当前用户的传入消息 我是否可以使用REST接口将聊天消息发送到我的服务器,而不是通过XMPP客户端-在这种情况下,上述侦听器是否仍然可以工作 使用smack

我在安卓上摆弄,对于如何将我自己的数据库用户与这个XMPP客户端集成,我完全感到困惑。据我所知,XMPP有自己的用户和组的概念,以及他们的登录凭证。此外,它们还有聊天室和聊天管理器的助手对象

我有自己的用户数据库,以及我想存储在服务器和设备上的聊天信息。假设用户的id为-id1。现在:

  • 如何对用户进行身份验证,我的意思是什么是凭据
  • 如何侦听当前用户的传入消息
  • 我是否可以使用REST接口将聊天消息发送到我的服务器,而不是通过XMPP客户端-在这种情况下,上述侦听器是否仍然可以工作
  • 使用smack-我是否仍然可以获得控制权来管理用于服务器和客户端之间通信的聊天消息的对象
基本上,我认为我无法想象服务器后台发生的事情(或者如何实现它)。有人能解释一下基本原理吗?或者给我指出正确的方向

  • 您需要有XMPP服务器应用程序(ejabberd、prosody、openfire、tigase等)来验证用户。大多数XMPP服务器能够根据您自己的用户数据库/RESTAPI对用户进行身份验证,或者您可以编写简单的插件/脚本。您也可以编写自己的XMPP服务器,但这可能太复杂了
  • Smack提供有用的
  • 您的REST接口也可能发送XMPP消息,或者您可能需要编写额外的XMPP服务器插件来监视数据库中的新消息,这取决于您的服务体系结构
  • 您可以随意扩展XMPP消息,只需将扩展的消息字段保留在您自己的XML命名空间中即可。当然,您可能需要在客户端和服务器上扩展XMPP库以支持这些新的消息元素

  • 谢谢你的回复!我可以为已经注册的用户生成什么类型的用户名和登录名?另外,关于#3,如果我们使用REST接口,消息侦听器是否仍然工作,或者我是否需要修改服务器上的一些内容以使其正常工作。