2012-05-02 26 views
0

我目前正在使用Android应用程序,其中XMPP用于用户之间的通信。现在我需要添加一个用于从Facebook或手机联系人列表中导入朋友的功能。
有谁知道这可能是如何实现的(也就是说,如果所有联系人都可用,如何找出哪些人正在使用我的应用程序以及他们的JID是什么)?通过电子邮件(或其他信息)在Xmpp中找到联系人

如果每个人都使用他们在Facebook上使用的相同电子邮件注册他们的帐户,并且您可以通过他们的电子邮件而不是他们的JID添加好友,我可以看到它是如何完成的,但它似乎是一个愚蠢的假设,据我所知,你不能添加一个用户只有他们的电子邮件。

我正在使用asmackOpenfire服务器。

回答

1

没有从电子邮件地址推断XMPP地址的标准方法。

某些服务允许将相同的地址用于电子邮件和XMPP - 例如gmail.com。检测给定域是否具有XMPP支持的一种方法是检查是否存在SRV records,一种比较冒险的方法是检查它是否正在侦听端口5222/5269。

即使给定了电子邮件地址并知道电子邮件主机也提供服务,但XMPP并不保证[email protected]与电子邮件和XMPP是同一个用户。不要问我为什么不这样做,但是你不能做出这个假设。

你说你只需要检查你的应用程序的其他用户。您可以将自己的数据库映射电子邮件地址的帐户存储到JID。我同意你的看法,这并不理想 - 但这正是大多数这样做的服务的工作原理。包括Facebook,除了他们有更多的数据,不仅仅是你的电子邮件地址...)。

+0

谢谢,这回答我的问题。现在我只需要弄清楚如何完成数据库部分。希望我可以重用Openfire使用的数据库,所以我不需要副本。 – Jave

相关问题