¿Cuál es la mejor manera de implementar la comunicación de mensajes entre dos usuarios de aplicaciones de Android?

GCM es el que necesitas. Déjame explicarte sobre eso.

En general, necesita un servidor (S) y dos clientes (C1, C2).
C1: envía datos al servidor
C2: recibe datos del servidor (previa solicitud)

En detalle
C1: abre la aplicación y envía los datos.
C2: Si la aplicación no se está ejecutando, ¿cómo se pueden recibir los datos? Para esto, ejecutará esta aplicación todo el tiempo en segundo plano. De lo contrario, recibirá datos solo cuando abra (ejecute) la aplicación manualmente.

Para evitar este escenario, GCM tiene un nuevo enfoque.
Enfoque anterior: la aplicación (C2) solicita datos al servidor.
Enfoque GCM: el servidor envía los datos al dispositivo (con alguna identificación para referir el dispositivo cliente y la aplicación correspondiente), y al llegar los datos, el dispositivo (SO Android) activará la aplicación correspondiente a través de Intent. Luego, la aplicación manejará los datos y realizará algunas acciones según el código que escribirá.

Gracias por A2A
Andro Babu

En la mayoría de los casos, las aplicaciones de mensajería utilizan Google GCM con XMPP.
Servidor GCM Cloud Connection (XMPP)
GCM es altamente escalable ya que se ejecuta en los servidores de Google, por lo que no tiene que preocuparse por eso. Hay una advertencia: los servidores de registro de GCM no responden la mayoría de las veces. Por lo tanto, asegúrese de implementar algún mecanismo de reintento para ese caso. Estoy teniendo dificultades con el registro de GCM en mi propia aplicación.

En cuanto al código fuente, revisa DrKLO / Telegram. Este es el repositorio git de Telegram, una popular aplicación segura de mensajería instantánea para Android.

Depende de la distancia. Unos pocos pies? Bluetooth. ¿Un área pequeña como una casa u oficina? Wifi. ¿El mundo? La Internet.

ENTONCES empiezas a preocuparte por el código. No escribe una aplicación Bluetooth (prácticamente sin latencia) de la misma manera que escribe una que permita que alguien en una esquina de Nueva York hable con alguien en una esquina de Bejing sin servidor. (La comunicación sin servidor es posible. Primero escribí el código para hacerlo en 1978, cuando todavía no teníamos servidores. De acuerdo, me dormí mucho a las 2 de la mañana, pero se escribió. “¿Cómo sabes quién? va primero “es el problema. Cuando desarrollas un método para hacerlo, el resto es como” escribir “un teléfono. [Lo siento, no hay código: el ensamblaje 8080 no funcionaría en un teléfono inteligente.])

Estoy seguro de que hay varios complementos disponibles en el mercado para implementar la mensajería instantánea entre los usuarios dentro de una aplicación de Android. Pero, la pregunta aquí es si construirlos o simplemente integrar la solución fácilmente disponible. Siempre preferiría lo último porque construir algo en casa requiere mucho y mantenerlo sería una gran sorpresa.

Aquí hay uno de estos complementos que se usó y probó recientemente: Bibliotecas de chat web y móviles. Proporciona mensajes en la aplicación / sitio web. El complemento permite enviar mensajes de texto, imágenes, archivos, ubicación, proporciona sincronización de datos de múltiples dispositivos, llamadas de audio y video, etc. Espero que ayude.