.NET Maui

Monitoreando tus aplicaciones con Sentry en .NET MAUI

Lanzar nuestras apps es sólo el primer paso; Mantener la satisfacción del usuario es el desafío constante. Después de lanzarlas en la tienda, nuestro objetivo principal es garantizar esta satisfacción brindando una experiencia fluida y relevante. Sin embargo, a menudo nos falta información sobre los problemas que pueden encontrar algunos usuarios. Esto resalta la necesidad de herramientas que sirvan como nuestros ojos, rastreando las interacciones y eventos fundamentales de los usuarios. ¿Por qué es vital el seguimiento? Ayuda a la identificación oportuna e incluso a la predicción de posibles fallos, lo que nos permite abordarlos antes de que los usuarios informen. Si bien varias herramientas ofrecen estas capacidades, este artículo profundizará en Sentry, una reconocida herramienta de informes remotos de fallos, y analizará sus características y su implementación paso a paso.

La explicación se dividirá en los siguientes puntos:

           🔹 ¿Qué es exactamente Sentry?

           🔹 Iniciando la implementación de Sentry

           🔹 Primer paso para el monitoreo de tu app

           🔹 Conoce el Dashboard de Sentry


¡Empecemos!

¿Qué es exactamente Sentry?

Es una herramienta de código abierto diseñada para rastrear errores dentro de sus aplicaciones. Sentry monitorea cualquier problema que surja en tu aplicación y ofrece información detallada que ayuda a priorizar, identificar y reproducir cada problema, asegurando una resolución rápida y efectiva. Con esta herramienta puedes tomar medidas sobre líneas de código rotas, fallas y llamadas API fallidas.

Iniciando la implementación de Sentry

Para aplicar el monitoreo Sentry a sus aplicaciones, debe realizar los siguientes pasos:

Paso 1⃣: Crea tu cuenta en Sentry

Dirígete al site oficial de Sentry y haga clic en el botón Comenzar, ubicado en la parte superior derecha de la página.

Puedes elegir cómo registrarte:

▪ Directamente con Sentry: Encontrarás un formulario solicitando tu información personal básica para completar el registro. (✍️ Usaré esta opción para el artículo).

▪ A través de cuentas de terceros: En la parte inferior del formulario también verás la opción de registrarte con las cuentas de Google, Github o Azure Devops.

Paso 2⃣: Configurar Sentry

Después de crear tu cuenta, aparecerá una pantalla que te ofrecerá la opción de instalar Sentry o configurar tu equipo de trabajo. Por ahora, nos concentraremos en instalar Sentry; presiona el botón Start.

Eligiendo la plataforma a monitorear

En el siguiente paso, debes elegir la plataforma que deseas monitorear. Sentry brinda soporte para una gran variedad, categorizadas por sus funcionalidades principales, como Desktop, Web, Mobile, entre otros. La lista detallada se puede ver en la animación anexa. Para el alcance de este artículo, navegaré a la pestaña de moBILE y seleccionaré .NET Multiplatform App UI (MAUI).

Una vez hayas seleccionado la plataforma, dale clic al botón de Configurar SDK ubicado en la esquina inferior derecha de la página.

Configurando tu SDK de MAUI

Sentry detalla cada etapa necesaria para su integración en tu aplicación: desde el paquete Nuget necesario hasta la inicialización y la implementación. Incluso ofrece una aplicación de ejemplo. Esta información es esencial para tu configuración, así que asegúrate de tenerla a mano; la necesitarás en los próximos pasos.

⚠ Guarda el endpoint DSN que te muestra este paso; lo necesitarás para la implementación de Visual Studio.

Paso 3⃣: Implementando Sentry en nuestra aplicación de .NET MAUI

Abre tu proyecto MAUI en Visual Studio. Para esta demostración, creé uno llamado “SentrySample”.

🔧 Configuración inicial

Desde el paquete NuGet, agrega Sentry.Maui a tu proyecto.

➖ Ve a tu archivo MauiProgram.cs

En el método CreateMauiApp, busca la línea .UseMauiApp<App>(). Justo debajo, añade UserSentry(). Esta función cuenta con varias sobrecargas útiles para explorar. Sin embargo, en este artículo, nos enfocaremos en la que utiliza un DSN como parámetro.

¿Qué es el DSN?

El DSN (Data Source Name, o Nombre de Fuente de Datos) en Sentry funciona como un identificador único para la fuente de datos de un proyecto específico. Permite la conexión directa de los eventos de tu aplicación con el proyecto correspondiente en Sentry. Esta “dirección” orienta a Sentry sobre cómo gestionar y almacenar los datos recibidos, asegurando que las métricas de error y rendimiento de tu aplicación sean dirigidas correctamente al proyecto adecuado dentro de tu cuenta de Sentry.

Implementémoslo en código.

¿Recuerdas el DSN guardado en el paso anterior? Agrégalo en este método.

Iniciando el Monitoreo de la App

Con tu configuración inicial en su lugar, ya estás list@ para comenzar a monitorear los diversos eventos y escenarios en tu app.

¿Por dónde deberías empezar con tu monitoreo? Aquí está mi recomendación:

🔹 Comienza con un documento preestablecido que describa los eventos o escenarios específicos que deseas rastrear.

🔹 Asigna identificadores únicos para cada escenario dentro de este documento. Es esencial usar un nombre claro e intuitivo para que sea fácilmente comprensible para cualquiera que lo revise. Por ejemplo, si tu objetivo es rastrear cuándo un usuario inicia sesión a través de Facebook, un identificador potencial podría ser “login_facebook”, acompañado de datos pertinentes como el nombre y el correo electrónico del usuario.

Explorando Métodos disponibles de Monitoreo en la App

Ahora que nuestros escenarios de monitoreo están configurados, vamos a profundizar en los diversos métodos proporcionados por SentrySdk. En esta guía, te presentaré algunos de los principales:

CaptureMessage

Aunque los SDKs de Sentry no capturan mensajes automáticamente, este método permite la presentación manual de información textual a Sentry, mejorando la precisión del monitoreo.

Recibe los siguientes parámetros:

🔹 Message: Es el mensaje a enviar. – Recibe un string como valor – [Obligatorio]

🔹 SentryLevel: Permite definir el nivel de severidad o importancia del evento que se envía a Sentry. Es importante especificar el nivel apropiado, ya que nos permite asegurar que los mensajes se prioricen y categoricen correctamente dentro de Sentry. [Opcional]

CaptureException

Permite capturar excepciones que surjan dentro de tu aplicación.

🔹 Exception: Captura una excepción. – [Obligatorio]

🔹 Configurar alcance: Te permite definir un contexto específico para las excepciones que reenvías a Sentry. En tu informe, puedes incluir detalles tales como la severidad del error y asignar etiquetas específicas, entre otros. Proporcionaré un ejemplo que muestra algunas configuraciones esenciales, y te invito a explorar más sus capacidades.

CaptureEvent

Te permite capturar el monitoreo de un evento. Este método acepta datos del tipo SentryEvent. Puedes incluir varios detalles esenciales para tu monitoreo, como el nivel de error, un mensaje, y más. Te animo a profundizar más en sus características.

¿Cómo podemos implementarlo en código?

Hemos explorado algunos de los métodos principales. Te invito a seguir profundizando en otros.

⚠ Algunos de estos métodos requieren capturar información detallada del usuario, como su correo electrónico o nombre. En tales casos, es crucial informar al usuario sobre la recolección de sus datos.


Conoce el Dashboard de Sentry

¡Por fin, descubrirás dónde ver todos los datos que has estado monitoreando! Comencemos con un ejemplo sencillo: capturando un mensaje que luego observaremos en el Dashboard de Sentry.

Creando el ejemplo

Usaré la aplicación predeterminada .NET MAUI como ejemplo. Dirígete a MainPage.xaml.cs—trabajaré con el código de contador incorporado por default. Además, incorporaremos la función CaptureMessage de Sentry, como se detalla a continuación:

Para obtener información para Sentry, es importante que ejecutes la aplicación y hagas clic en el botón de contador.

Ingresando al Dashboard

En tu Dashboard de Sentry, navega a Problemas (Issues). Una lista de tus registros de monitoreo se mostrará de inmediato. Aunque otros ejemplos podrían aparecer en este segmento, concentremos nuestra atención en la entrada que generamos anteriormente—destacada con líneas rosadas—que dice, “You clicked the counter button 1 time”.

Haz clic en el elemento resaltado. En esta página, puedes ver los detalles completos del registro, incluyendo el nombre de la aplicación de origen, la versión de .NET en uso en el momento de la creación del registro, la versión del sistema operativo y, por supuesto, el mensaje que enviaste, entre otra información. Hay una gran cantidad de información crucial aquí que merece tu atención y que te permitirá tomar decisiones en tu aplicación. ¡Desplázate para absorberlo todo!

Aquí tienes una vista de cómo se ve:


🚀 ¡Voilà! Ahora estás completamente preparado para monitorear tus aplicaciones .NET MAUI con Sentry. ¡Continúa construyendo increíbles aplicaciones y disfruta de la tranquilidad que proporciona Sentry! 📖🙌

Spanish post:

https://askxammy.com/monitoring-your-apps-with-sentry-in-net-maui/

Referencias:

https://www.youtube.com/watch?v=9-50zH8fqYA

¡Gracias por leer mi artículo! 💚💕

Tagged ,

Leave a Reply

Your email address will not be published. Required fields are marked *