Cómo implementar chat individual o grupal en Android

Bueno, no soy un gran programador. Pero, espero que el siguiente artículo pueda ser de alguna utilidad.

Un mecanismo de chat simple tendrá 2 funcionalidades básicas:

  1. Enviar el mensaje al servidor (con información sobre el destinatario)
  2. Recibir el mensaje del servidor (designado para mi nombre de usuario)

El primer paso es simple, podemos crear un servicio web que acepte el mensaje con información adicional sobre los destinatarios. Podemos crearlo usando cualquier lenguaje del lado del servidor.
El paso 2, que es buscar el mensaje del servidor, se puede hacer usando 2 técnicas, extraer el mensaje (mediante sondeo) del servidor o enviar el mensaje del servidor al teléfono Android

  1. Sondeo: en esto, el dispositivo Android seguirá accediendo al servidor después de unos segundos para verificar si hay un mensaje disponible para el usuario. De nuevo, esto se puede implementar utilizando una tarea asíncrona simple en el lado del cliente que seguirá llamando a un servicio web después de unos 2-3 segundos. Está bien usarlo si estamos planeando habilitar el chat solo cuando el usuario está accediendo a la aplicación (no hay notificaciones como gmail o facebook), para que podamos eliminar el servicio de encuestas cuando no esté en uso (de lo contrario, consumirá recursos).
  2. Notificaciones push: una mejor opción es usar notificaciones push. Android proporciona mensajería en la nube de Google o GCM (Google Cloud Messaging para Android), lo que ayudará a lograr la inserción del servidor fácilmente. De lo contrario, puede probar una API de terceros, como urbanairship o pushwoosh, según sus requisitos. Las notificaciones push ayudarán al usuario a recibir mensajes incluso cuando no esté usando la aplicación.

En pocas palabras, un servicio web para recibir los mensajes y un mecanismo de notificación push deberían ser suficientes para implementar un servicio de chat en Android.
Fuente : http://stackoverflow.com/questions/14190410/implementing-one-to-one-and-group-chat-in-android

Para muestra también puede visitar los siguientes enlaces .
1) http://quickblox.com/developers/Android_XMPP_Chat_Sample
2) http://developer.samsung.com/android/technical-docs/Building-a-Chat-Application

Hay varias opciones para implementar el chat en Android. La primera decisión que debe tomar es qué tipo de servidor desea usar. Estas son varias de las opciones más populares.

Servidor XMP

Hay varios servidores XMPP que son gratuitos y de código abierto. ejabberd, OpenFire y Prosody son los más populares.

Con estos servidores puede usar Smack, que es una biblioteca XMPP de código abierto para Android. XMPP es una excelente opción para construir un sistema de mensajería instantánea móvil, ya que ofrece una gran cantidad de características, incluidos chats individuales y grupales, presencia de bloqueo de usuarios, estado y disponibilidad de usuarios y perfiles de usuarios.

Sin embargo, desarrollar un cliente XMPP sería bastante trabajo. Xabber es un cliente XMPP de código abierto, pero se distribuye bajo la licencia GNU, que no es muy compatible comercialmente, ya que cualquier aplicación que use esta biblioteca también tendrá que usar la licencia GNU.

Backend como servicio

Hay varias compañías que ofrecen backend como servicio para aplicaciones móviles. Algunos de estos incluyen Firebase, PubNub y Pusher.

Estos servicios en tiempo real son muy adecuados para la mensajería instantánea. Proporcionan servidores en tiempo real y un SDK móvil que hace que sea mucho más fácil construir su propio sistema de mensajería.

Firebase es una base de datos completa en tiempo real que se puede usar para crear una aplicación completa. También tiene marcos de mensajería móvil de código abierto disponibles en Github. Esencialmente, estas son aplicaciones de mensajería de marca blanca que usan Firebase como back-end.

Si ya tiene un servidor de aplicaciones, sería bastante fácil usar Pusher o Pubnub para agregar funciones de mensajería. Se especializan en la transmisión de datos en tiempo real. Admiten flujos de 1 a 1 y de muchos a muchos que podrían usarse para mensajes individuales y grupales, respectivamente.

El desarrollo de un sistema de mensajería usando uno de estos back-end requeriría diferentes habilidades para desarrollar un sistema de mensajería usando XMPP. Con XMPP, debe comprender e interactuar con el protocolo, mientras que con estos servicios necesitaría crear su propio protocolo.

El protocolo XMPP es complejo y detallado y puede ser difícil de entender. Si no necesita todas las funciones proporcionadas por XMPP, puede ser una mejor opción para construir la suya.

Bueno, es más una tarea de servidor que una de Android. Una vez que configure el servidor, puede conectarlo con Android, Web, iOS o cualquier otro sistema operativo.

Para crear un servidor de chat, debe aprender sobre XMPP (Protocolo de presencia y mensajería extensible). Con esto, puede crear listas (tipo de lista de amigos que puede decir) o el estado del usuario, ya sea en línea o sin conexión.

Un buen servidor que puede usar es Ejabberd ( https: // www . Ejabberd .im /)

Para Android puedes consultar este Xabber

Quizás pueda consultar esta respuesta de stackoverflow también para ver las opciones disponibles:

Android y XMPP: soluciones disponibles actualmente

Espero que puedas encontrar algo y aprender y sacarle provecho.

La parte de Android (UI y código Java) es muy simple en comparación con la parte del servidor. Debe aprender a enviar y recibir solicitudes y respuestas a través del servidor.

Puede utilizar uno de los muchos servidores habilitados para jabber para su servidor de chat centralizado, es decir, openfire.

intente aprender XMPP primero si quiere construirlo mejor.

No te entendí. En mensajes? Tienes aplicaciones como WhatsApp, Viber, Line, WeChat para hacer eso.
Incluso en mensajes normales, uno a uno es posible. Así es el chat grupal.
A2A.

La pregunta no está clara, pero si está buscando servicios, aquí hay una lista de referencia rápida

Scringo
Quickblox
Arribista
Pubnub
Firebase
Talkray
Son las mejores opciones.
Tekhgizmo.com

Puede usar XMPP y smack, todo paso a paso disponible

Cree una aplicación de chat de Android desde cero utilizando XMPP y Smack