Cómo Recibir Notificaciones en Tiempo Real en Aplicaciones Model Driven

En este post, te enseñaré cómo recibir notificaciones en tiempo real mientras utilizas tu aplicación en Model Driven. Esto es especialmente útil cuando trabajamos con Dynamics CRM (Customer Engagement), ya que es común encontrarse con procesos que se ejecutan en segundo plano y que pueden tardar mucho tiempo en completarse. Es esencial proporcionar feedback al usuario de que el proceso ha finalizado.

Métodos Comunes para Notificar a los Usuarios

Campo de Estado: Podríamos tener un campo de estado que el usuario actualice manualmente para ver si el proceso ha terminado. Sin embargo, este método puede ser tedioso ya que requiere que el usuario refresque la pantalla constantemente.

Correo Electrónico: Enviar un correo electrónico una vez que el proceso ha terminado es otra opción. Esto permite que el usuario continúe trabajando mientras el proceso se ejecuta de manera asíncrona.

Notificaciones In-App: Una forma más proactiva de notificar al usuario dentro de la misma aplicación es mediante notificaciones In-App. Esto permite que el usuario reciba alertas directamente en el Model Driven sin tener que cambiar de aplicación.

Activación de Notificaciones In-App

Para activar las notificaciones In-App en tu aplicación, sigue estos pasos:

  1. Acceder a la Solución: Ve a la solución donde estás trabajando en tu aplicación.
  2. Editar la App: Dentro de la pantalla de edición, ve a la sección de configuración (settings).
  3. Activar Notificaciones In-App: Navega hasta la opción de características (features) y activa las notificaciones In-App. Guarda los cambios y publica la aplicación.

Implementación de Notificaciones In-App desde Código

Para enviar una notificación In-App, puedes usar el siguiente código en .NET:

  1. Crear una Clase: Crea una clase llamada SendNotificationExample donde pases parámetros como el servicio de organización y el ID del usuario que recibirá la notificación.
  2. Obtener el ID del Usuario: Para obtener el ID del usuario, ejecuta la aplicación y observa la URL. Encontrarás el ID del usuario conectado en la sección correspondiente a la entidad SystemUser.
  3. Enviar la Notificación: Usa el siguiente ejemplo de código en .NET para enviar la notificación:
public class SendNotificationExample
{
    public void SendNotification(IOrganizationService service, Guid userId)
    {
        var notificationRequest = new OrganizationRequest("CreateNotification");
        var parameters = new ParameterCollection
        {
            { "Title", "Proceso Completado" },
            { "Body", "El proceso ha finalizado correctamente." },
            { "IconType", 1 }, // Icono que aparecerá en la notificación
            { "Recipient", new EntityReference("systemuser", userId) }
        };
        
        notificationRequest.Parameters = parameters;
        service.Execute(notificationRequest);
    }
}

Ejemplo Práctico

Supongamos que tienes un proceso de procesamiento de datos. Una vez que el proceso termine, puedes notificar al usuario mediante una notificación In-App. Puedes integrar esto dentro de un plugin o mediante una función en Azure que llame a esta notificación.

Diferencias entre Notificaciones In-App y Push

Es importante destacar que las notificaciones In-App no son lo mismo que las notificaciones Push. Las notificaciones Push, disponibles a través de un conector en Power Apps, aparecen en dispositivos móviles incluso si la aplicación no está abierta. En cambio, las notificaciones In-App solo aparecerán dentro de la aplicación cuando esta esté abierta.

Conclusión

Activar y utilizar notificaciones In-App es una excelente manera de mantener informados a los usuarios sobre el estado de los procesos en aplicaciones Model Driven. Espero que esta guía te haya sido útil y te invito a dejar tus comentarios sobre cómo podrías utilizar esta funcionalidad en tus proyectos. Si te ha gustado este post, no olvides compartirlo y suscribirte para más contenido relacionado con Dynamics CRM y Power Platform.

Puedes ver la versión en video de este artículo en mi canal de Youtube:

Nos vemos en el próximo artículo. ¡Hasta luego!

Gracias por leerme. Últimamente le estoy dedicando mucho tiempo a generar contenido para Youtube y Twich. Te invito a que te pases por los canales y me sigas 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *