Compartir vía


Introducción al ejemplo de elementos principales de un chat grupal

El ejemplo de Group Chat Hero Sample de Azure Communication Services demuestra cómo pueden usar el SDK web de chat de Communication Services para crear una experiencia de chat grupal.

En este artículo se describe cómo funciona el ejemplo antes de ejecutar el ejemplo en el equipo local. A continuación, se implementa el ejemplo en Azure con sus propios recursos de Azure Communication Services.

Información general

El ejemplo tiene una aplicación del lado cliente y una aplicación del lado servidor. La aplicación del lado cliente es una aplicación web React/Redux que usa el marco de interfaz de usuario Fluent de Microsoft. Esta aplicación envía solicitudes a una aplicación del lado servidor de Node.js Core que ayuda a la aplicación del lado cliente a conectarse a Azure.

El ejemplo tendrá una apariencia similar a la siguiente:

Captura de pantalla que muestra la página de aterrizaje de la aplicación de ejemplo.

Al presionar Iniciar un chat, la aplicación web captura un token de acceso de usuario de la aplicación del lado servidor. Use este token para conectar la aplicación cliente a Azure Communication Services. Una vez recuperado el token, el sistema le pide que escriba su nombre y elija un emoji para representarlo en el chat.

Captura de pantalla que muestra la pantalla de prechat de la aplicación.

Una vez que configures el emoji y el nombre para mostrar, podrás unirte a la sesión de chat. Ahora se ve el lienzo de chat principal donde se encuentra la experiencia de chat básica.

Captura de pantalla que muestra la pantalla principal de la aplicación de ejemplo.

Componentes de la pantalla principal de chat:

  • Área de chat principal: experiencia de chat principal, donde los usuarios pueden enviar y recibir mensajes. Para enviar mensajes, puede usar el área de entrada y presionar Entrar (o usar el botón de envío). La pantalla de chat organiza los mensajes de chat recibidos por remitente con el nombre y emoji correctos. En el área de chat aparecen dos tipos de notificaciones: 1) notificaciones de escritura cuando un usuario esté escribiendo y 2) notificaciones de envío y lectura para los mensajes.
  • Encabezado: aquí es donde el usuario ve el título de la conversación de chat y los controles para alternar las barras laterales de participantes y de configuración, así como un botón para salir de la sesión de chat.
  • Barra lateral: aquí es donde se muestran los participantes y la información de configuración cuando se alternan con los controles del encabezado. La barra lateral de participantes contiene una lista de participantes en el chat y un vínculo para invitar a los participantes a la sesión de chat. La barra lateral de configuración permite configurar el título de la conversación de chat.

Complete los siguientes pasos y requisitos previos para configurar el ejemplo.

Requisitos previos

Antes de ejecutar el ejemplo por primera vez

  1. Abra una instancia de PowerShell, Terminal de Windows, símbolo del sistema o equivalente y navegue hasta el directorio en el que le gustaría clonar el ejemplo.

  2. Clone el repositorio mediante la siguiente cadena de la CLI:

    git clone https://github.com/Azure-Samples/communication-services-web-chat-hero.git

    También puede clonar el repositorio mediante cualquiera de los métodos descritos en Clonación de un repositorio de Git existente.

  3. Obtenga los valores Connection String y Endpoint URL desde Azure Portal o mediante la CLI de Azure.

    az communication list-key --name "<acsResourceName>" --resource-group "<resourceGroup>"
    

    Para más información sobre las cadenas de conexión, consulte Creación de recursos de Azure Communication Services.

  4. Una vez que obtenga el valor Connection String, agregue la cadena de conexión al archivo Server/appsettings.json que se encuentra en la carpeta Chat. Escriba la cadena de conexión en la variable: ResourceConnectionString.

  5. Cuando obtenga el valor Endpoint, agregue el string del endpoint al archivo Server/appsetting.json. Introduzca el punto de conexión en la variable: EndpointUrl.

  6. Obtenga el valor de identity desde Azure Portal. Seleccione Identidades y tokens de acceso de usuario en Azure Portal. Generar un usuario con ámbito Chat.

  7. Cuando obtenga la cadena identity, agregue la cadena de identidad al archivo Server/appsetting.json. Escriba la cadena de identidad en la variable: AdminUserId. El servidor usa la cadena para agregar nuevos usuarios al subproceso de chat.

Ejecución local

  1. Establezca la cadena de conexión en Server/appsettings.json.
  2. Establezca la cadena de dirección URL del punto de conexión en Server/appsettings.json.
  3. Configuración de su cadena de adminUserId en Server/appsettings.json
  4. npm run setup desde el directorio raíz.
  5. npm run start desde el directorio raíz.

Para probar el ejemplo localmente, puede abrir varias sesiones del explorador con la dirección URL de su chat para simular un chat multiusuario.

Publicación del ejemplo en Azure

  1. En el directorio raíz, ejecute estos comandos:

    npm run setup
    npm run build
    npm run package
    
  2. Use la extensión de Azure e implemente el directorio Chat/dist en el servicio de aplicaciones.

Limpieza de recursos

Si quiere limpiar y quitar una suscripción a Communication Services, puede eliminar el recurso o grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él. Obtenga más información sobre la limpieza de recursos.

Pasos siguientes

Para obtener más información, consulte:

  • Ejemplos: encuentre más ejemplos en nuestra página de información general de ejemplos.
  • Redux: Administración de estado del lado cliente
  • FluentUI: Biblioteca de interfaz de usuario con tecnología de Microsoft
  • React: Biblioteca para compilar interfaces de usuario