Recomiendo revisar el SDK de Chat. Este es un componente de chat de código abierto que ha sido publicado en Github con una licencia MIT. Esto significa que puedes modificar, mejorar y liberar el código sin ninguna obligación con los escritores del código. También tiene versiones totalmente compatibles con iOS y Android.
Siempre recomiendo construir una aplicación de chat en un producto de chat. Esto se debe a que te ahorras una enorme cantidad de tiempo en comparación con desarrollarla tú mismo. También es de una calidad mucho mayor y vendrá con un soporte completo que le permitirá personalizar el proyecto de forma rápida y eficiente.
Para responder a su pregunta:
El primer paso para crear una aplicación de chat es encontrar un producto de chat. El siguiente paso es ver lo fácil que sería modificarlo a su idea.
Cuando se aplica a sus puntos anteriores esto es lo que debe buscar:
- Temas para elegir
Este es un subconjunto de una buena gestión de datos de chat. Usted necesita ser capaz de crear grupos de chat con nombres específicos, los usuarios pueden abrir estos para charlar sobre el tema. - Los usuarios que pueden ver y escribir
Esta es la funcionalidad avanzada del usuario, usted tendrá que decidir sobre cuando un usuario puede chatear o sólo ver. Esto, sin embargo, es una funcionalidad fácil, ya que sólo tiene que comprobar el usuario actual y luego activar o desactivar la barra de chat en la vista de chat. - Salas de chat dinámicas
Al igual que el punto anterior, esto se reduce a cómo su aplicación interactúa con la creación de chats. Los chats deben actualizar la base de datos principal, lo que significa que pueden ser notificados si no hay chats libres disponibles - entonces se puede crear uno nuevo. - ¿XMPP?
XMPP es a menudo lanzado como una gran solución. Yo siempre lo pensaría dos veces ya que requiere muchos más lenguajes de codificación. Necesitas conocer tu plataforma nativa (iOS), el propio XMPP y PHP para configurar tu servidor en línea, incluso entonces probablemente habrá algunos otros lenguajes necesarios para que funcione bien (AngularJS).
Conclusión:
Para concluir toda la funcionalidad que estás buscando suena muy directa siempre y cuando elijas el marco de chat adecuado para construirlo.
La dificultad entonces viene con la decisión de qué componente de chat utilizar. El Chat SDK tiene muchas ventajas sobre otros componentes de chat disponibles en línea, a continuación son sólo algunos:
Costo: El SDK de Chat es completamente gratuito para descargar, usar, modificar - lo que sea y puede hacerlo. Aunque muchos otros componentes de chat son de descarga gratuita, casi siempre limitan su producto para animarle a pagar por su servicio. Algunos hacen esto limitando el número de mensajes que puedes enviar y los grupos que puedes crear, otros recuperan su dinero en otras áreas - un chat tiene los derechos de todos tus datos de usuario que puede vender a los anunciantes.
Flexibilidad: Debido a que Chat SDK se libera en Github significa que usted tiene acceso completo a todo el código. Nada de esto está atascado en un marco de trabajo, lo que significa que puede modificar o utilizar cualquier código que desee. Esto te da una gran libertad para personalizar tu proyecto, ya que tienes el control. Los frameworks cerrados a menudo significan que usted tiene que pagar al desarrollador para añadir nuevas características, así que esto es algo que hay que tener en cuenta al comprobar diferentes chats.
Tiempo: El Chat SDK es un componente de chat totalmente funcional. Esto significa que puedes descargarlo, compilarlo y probarlo en menos de 5 minutos. Esto significa que puede ver lo que podría estar usando sin tener que pasar mucho tiempo integrándolo en su proyecto. Como Chat SDK viene listo para funcionar en las cuentas de prueba significa que no necesitas configurar nada para ponerlo en marcha en tus dispositivos.
Privacidad: Al utilizar Chat SDK usted tiene todas las claves de los datos de sus usuarios. Los desarrolladores del código no tienen acceso a ninguna de sus informaciones, lo que significa que puede estar seguro de que sus usuarios están a salvo. Si sus datos se almacenan en la base de datos de los proveedores de chat, entonces usted corre el riesgo de que los datos sean vulnerables a ser vendidos, filtrados o accedidos por entidades que usted no conoce.