¿Qué biblioteca XMPP sería la mejor opción hoy en día para el desarrollo de Android?
He estado usando la biblioteca de Smack parcheada como se sugiere en muchas otras preguntas aquí en SO. Sin embargo, esa es una versión parcheada de la API de Smack de hace dos años. Y aunque generalmente funciona bien, estoy explorando otras opciones más recientes.
He estado mirando la API oficial de Smack y después de un poco de investigación, parece que podría funcionar bien hoy en día (aunque todavía no lo he probado en una aplicación real).
También encontré otra solución, la biblioteca aSMACK de Beem . Beem es un cliente XMPP bastante nuevo para Android y, por lo que entiendo, están usando su propia versión parcheada de aSMACK.
Finalmente, hay un ASOMBROS, pero eso tampoco se ha actualizado durante bastante tiempo (como sugiere el sitio).
¿Tiene alguna otra sugerencia o puede explicar por qué debería elegir una de las anteriores sobre el resto?
Respuestas:
Tortazo
Smack es una biblioteca de cliente XMPP de código abierto. Desde la versión 4.1 se ejecuta de forma nativa en Android. Para obtener más información, consulte el "Léame de Smack 4.3" y consulte la página del proyecto Smack en Ignite Realtime .
fuente
Recientemente me topé con otra solución de código abierto: jaxmpp2
jaxmpp2 también apunta a Android (y Java SE). Realmente no puedo decir nada más al respecto, porque no uso jaxmpp2 en mis proyectos Android / XMPP. Pero parece una alternativa válida a aSmack .
fuente
Use qsmack para Android
https://code.google.com/p/qsmack/downloads/list
Es la última compilación para Android
He trabajado en chat uno a uno, chat grupal, transferencia de video, transferencia de audio, visto por última vez, cambiar el número de registro ... casi completa cuál es la aplicación. He creado muchos complementos en openfire
fuente
Me gustaría usar libstrophe y jni. Los objetivos para usar esto son multiplataforma, fácil de usar y de rendimiento. libstrophe está escrito en c, por lo que es fácil escribir el archivo MAKE de Android ya que la dependencia es solo openssl y expat lib. En mi caso, estoy usando openssl y expat lib de libjingle que ya tiene puerto para android e ios. (Solo es necesario portar el archivo gyp al archivo make de Android o al proyecto IOS).
Debajo está mi makefile de Android
fuente
Puede usar Tigase JaXMPP Client Library : es muy versátil y puede usarlo tanto para aplicaciones JavaSE como para el desarrollo de Android. Está desarrollado activamente y Tigase Messenger para Android ( Play Store ) se basa en él.
Hay una página wiki de documentación básica de la biblioteca con un par de ejemplos y para obtener detalles, debe consultar javadocs
fuente
Uso del archivo Léame y la Guía de actualización de Smack 4.1
Usando Android Studio 2.3, recientemente he implementado una demostración de una manera muy simple.
-> Simplemente agregue dependencia de gradle en el nivel de aplicación gradle como se muestra a continuación
-> Configurar configuración de conexión
NOTA : llame a esto en AsyncTask o en otro hilo de fondo
-> Uso
isConnected()
yisAuthenticated()
-> Usar
ChatManager
para agregarchatListener
.fuente
Puede usar QuickBlox1 de forma gratuita.
Proporciona un servidor XMPP listo para usar con muchas funciones, puede leer sobre las funciones allí http://quickblox.com/developers/Chat
Aquí hay un ejemplo de cómo comenzar a usar QuickBlox con una biblioteca deSmack http://quickblox.com/developers/Android_XMPP_Chat_Sample
fuente