Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Informes de Fallos con Crashlytics

by
Difficulty:BeginnerLength:MediumLanguages:

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

En Android, hay una alta probabilidad de que tu app falle incluso después de que la hayas probado manual y automáticamente. Esto puede deberse a factores como incopatibilidad con diferentes niveles de API, tamaños de pantalla, memoria del teléfono, disponibilidad de hardware de sensor y personalización de proveedor para ajustar a sus dispositivos individuales. Crashlytics te ayudará a diagnosticar estos problemas.

Los fallos puedes poner a tus usuarios tristes y enojados. Podrían incluso querer desinstalar la aplicación si esto ocurre frecuentemente. Después darle a tu app una mala valoración, darle retroalimentación negativa en la play store ¡y después ir a instalar la app de tu competidor! Este mercado de aplicaciones ya concurrido y competitivo, hacer felices a tus usuarios es vital para el éxito de tu aplicación.

Es imposible que tu aplicación no tenga fallos, pero mantener estos fallos al mínimo es muy importante. Durante el desarrollo y pruebas, podrías no haber encontrado un fallo particular, pero en producción cuando tu usuarios la están usando de manera activa, comenzarás a ver fallos. Usar una solución de informes de fallos robusta y poderosa es esencial para recoger información sobre tus fallos de aplicación y darle un vistazo a cómo puedes arreglar el problema para mantener a tus usuarios contentos.

En este tutorial, te mostraré como usar Crashlytics, una solución de informes de fallos gratuita y poderosa pero ligera, que es parte del conjunto de herramientas de desarrollador de Fabric por Twitter. Vamos a crear una app simple que falle cuando se presiona un botón, de manera que podamos ver el fallo con Crashlytics.

1. ¿Por Qué Usar Crashlytics?

Aquí hay algunas cuantas razones por las que querrías usarlo:

  • Fácil de cofigurar
  • Aplicaciones, usuarios y fallos ilimitados
  • Alertas en tiempo real
  • Informes de fallos en tiempo real
  • Análisis de fallos a fondo
  • Seguimiento de excepciones
  • Informe de fallos fácil de compartir
  • Distribución de aplicación beta
  • Una aplicación móvil gratuita para monitorear tu aplicación al momento y obtener alertas en tiempo real para asuntos críticos
  • ¡Gratuito!

2. Crea un Proyecto de Android Studio

Primero, ejecuta Android Studio y crea un nuevo proyecto "CrashlyticsTutorial" con una actividad vacía llamada MainActivity.

Create a new activity

3. Instalando el Complemento Fabric

Primero debes tener una cuenta en Fabric para integrar Crashlytics en tu aplicación. Así que llena los detalles requeridos y se te enviará un correo de confirmación.

Sign up for Fabric

Puedes elegir integrar Fabric con tu proyecto ya sea descargando el complemento de Android Studio, el cuál modificará de manera automática los archivos necesarios para la integración, o manualmente modificando tu archivo build.gradle. Para este tutorial, usaremos la forma más sencilla, la cuál es con el complemento.

Después de dar clic al enlace de confirmación, serás guiado a la instalación del complemento:

Paso 1

Selecciona Android como la plataforma.

Select platform to install

Paso 2

Para usuarios Mac, selecciona Preferencias... desde el menú Android Studio / IntelliJ. Usuarios Windows y Linux: selecciona Ajustes desde el menú Archivo.

Open Android Studio SettingsPreferences

Paso 3

Selecciona Complementos, da clic en el botón Explorar Repositorios y busca "Fabric para Android".

Android Studio browse plugins

Paso 4

Da clic en el botón Instalar complemento para descargar e instalar el complemento.

Install plugin
Final Fabric integration with Android studio

4. Integrando Crashlytics

Paso 1

Para comenzar la integración de Crashlytics en tu proyecto Android Studio, ingresa tus credenciales para iniciar sesión.

Fabric welcome screen in Android Studio

Paso 2

Selecciona el proyecto de Android CrashlyticsTutorial y da clic al botón Siguiente.

Select project to integrate with Fabric

Paso 3

Fabric listará todas las organizaciones que registraste, así que selecciona la organización que quieres asociar con la app y da clic al botón Siguiente.

Select organisation

Paso 4

Fabric entonces listará todos sus kits. Ya que este es un tutorial de Crashlytics, selecciona Crashlytics y después el botón Siguiente.

Select kit

Paso 5

Da clic al botón Instalar.

Install Crashlytics

Fabric quiere hacer cambios a tus archivos build.gradleMainActivity.java y AndroidManifest.xml,así que da clic al botón Aplicar para que ocurran los cambios.

Final installation screen

Paso 6

Construye y ejecuta tu aplicación para que podamos asegurarnos de que todo está configurado adecuadamente. Si tu app fue configurada apropiadamente, recibirás un correo instantáneamente a la dirección de correo que usaste para registrarte con Fabric.

Email received from Fabric

5. Viendo el Tablero

Ahora que Crashlytics ha sido integrado exitosamente con tu proyecto, visita el tablero principal para ver nuestra app: CrashlyticsTutorial.

Fabric dashboard

Dar clic sobre un proyecto abrirá el tablero de Crashlytics, el cuál listará los problemas encontrados. Hasta ahora no tenemos ninguno; después, revisitaremos este tablero cuando hayamos creado un fallo de manera deliberada.

Crashlytics dashboard

Dentro del tablero de proyecto Crashlytics, tienes una vista general de los fallos. Puedes filtrar fallos por versiones de aplicación, eventos, días, estados (abiertos, cerrados o todos), dispositivo, OS, o actividad de usuario (aunque el kit Answers necesita estar habilitado para usar esta característica). También puedes ver el número total de fallos, no fatales, usuarios afectados y más.

El kit Answers te da estadísticas en tiempo real sobre cómo está siendo usada tu app, incluyendo número de usuarios activos, duración de sesión, valoración de estabilidad, y retención.

6. Creando un Fallo Deliberadamente

Entendiendo la Diferencia Entre Fallos y Problemas

La diferencia entre fallos y problemas es que Crashlytics combina fallos similares en problemas (líneas de código particulares que parecen estar disparando el mismo tipo de fallo). Por ejemplo, si tuvieras 100,000 fallos reportados, estos podrían ser atribuidos a solo 60 problemas.

Creemos deliberadamente un fallo y veamos el problema registrado en el tablero.

Crea un Layout

Aquí está el archivo layout de MainActivity:

El Método crashNow()

Modifica la clase MainActivity para disparar el método crashNow(), el cuál disparará un RuntimeException cuando el botón es presionado.

¡Crash!

Ejecuta la aplicación y da clic al botón crash ahora.

app crashing in emulator

7. Revisitando el Tablero

Después de un fallo exitoso, revisita el tablero para ver el problema que fue registrado instantáneamente. También tendrás un correo de notificación de Fabric sobre el fallo. En el tablero hasta ahora, ahora tenemos un problema, un fallo y un usuario afectado. Puedes buscar un problema específico ya sea con el nombre de archivo, nombre del método, número de línea o notas del problema (solo un término).

Crashlytics crash overview screen

Cuando das clic en un asunto, este abre una página en donde obtienes un reporte a fondo del fallo. La página agrega todos los fallos que ocurrieron.

Crashlytics in-depth overview

Las partes clave de esta UI son como sigue:

1

El nombre de paquete del proyecto, incluyendo el número de línea en donde ocurrió el fallo

2

Filtro de fallos recientes

3

El número total de fallos

4

El número total de usuarios afectados por el fallo

5

Intercala para marcar el problema como cerrado o abierto

6

Gráfica del número de fallos por día

7

Botón para compartir el problema vía Twitter o con tus miembros de equipo

8

El porcentaje de dispositivos con fallos con proximidad activada

9

El porcentaje de fallos que ocurrieron cuando la app estaba en foco

10

El porcentaje de dispositivos con fallos que estaban rooteados

11

Desglose de nombres de modelos de dispositivos con fallos

12

Desglose del SO de dispositivos con fallos

13

Descarga de seguimiento de la pila de excepción como un archivo .txt

14

Una vista expandible para el seguimiento de la pila

15

Ver detalles de cada informe de fallos individual

En esta página, también puedes ver notas y escribir notas sobre cada fallo.

8. Otras Características de Crachlytics

Aplicación Móvil Fabric

Fabric también tiene una aplicación móvil gratuita disponible en la Google Play Store. Con la aplicación móvil, puedes obtener una notificación push instantánea cada vez que ocurra un fallo, así como alguna información dando visión al problema: un desglose de dispositivos y plataformas afectadas, el seguimiento completo, el número de usuarios afectados, quién fue afectado, notas ingresadas sobre un problema, y una opción para compartir el asunto con otros miembros del equipo. Toda la información es actualizada en tiempo real.

Fabric mobile app screen

Excepciones Atrapadas de Registro

Crashlytics también te habilita para registrar excepciones atrapadas en un bloque catch usando Crashlytics.logException(Exception).

Todas las excepciones registradas aparecerán como asuntos "no fatales" en el tablero de Fabric. Crashlytics procesa excepciones en un hilo dedicado, así que registrar una excepción no bloqueará la UI de la app y el impacto de desempeño en tu app será pequeño.

Registro Personalizado

Cuando registrar una excepción, puedes crear un mensaje de registro personalizado asociado con tu información de fallo, y será mostrado en el tablero Crashlytics en ese fallo particular.

Además de apareces en tu reporte, también será agregado al LogCat de Android. Para prevenir que eso pase, usa en su lugar:

Como en el ejemplo de abajo:

Logged message in dashboard

Identificar Usuarios de Manera Única

Para identificar de manera única al usuario final de tu aplicación en el tablero para fácil depuración, Crashlytics tiene los métodos de abajo:

Usa Crashlytics.setUserIdentifier para proporcionar un número de ID, token o valor hashed que identifique de manera única al usuario final de tu aplicación sin revelar o identificar cualquiera de su información personal.

Distribución Beta

SI quieres distribuir una beta de tu app a un conjunto de usuarios para pruebas y obtener retroalimentación antes de liberar finalmente tu app al público, Crashlytics tiene una herramienta gratuita bastante útil llamada Beta. No la veré aquí, pero revisa la documentación oficial para más información.

Deshabilita Crashlytics para Construcciones de Depuración

Puedes deshabilitar Crashlytics para construcciones de depuración, lo cuál acelerará tu proceso de depuración.

Primero, agrega esto a tu archivo build.gradle:

Después, deshabilita el Kit Crashlytics en tiempo de ejecución.

Conclusión

Crashlytics es muy poderoso y útil para informes efectivos de fallos. En este tutorial, aprendiste:

  • cómo integrar Crashlytics a tu proyecto Android
  • cómo el tablero de Crashlytics puede darte una visión de un problema
  • cómo registrar excepciones capturadas
  • cómo escribir registros personalizados
  • cómo identificar de manera única a tus usuarios para depuración sencilla
  • cómo deshabilitar Crashlytics para depuración

Para aprender más sobre Crashlytics, puedes referirte a tu documentación oficial. También puedes revisar algunos de nuestros otros tutoriales sobre desarrollo de servicios basados en la nube para Android.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.