Cómo implementar Firebase Crashlytics en una app

Al lanzar una app al mercado es común pensar que funcionará correctamente en todos los dispositivos. Lejos de la realidad, es bastante probable que una aplicación falle en determinados dispositivos o versiones de Android. Para controlar estos fallos puedes implementar Firebase Crashlytics y monitorizar los fallos desde la web.

¿Qué es Firebase Crashlytics?

Es una herramienta que permite informar de los fallos producidos en una aplicación a tiempo real, realiza seguimientos de los problemas que surgen, los agrupa y destaca las circunstancias que los producen.

Con él monitorizamos todos los fallos de la aplicación que se producen en los dispositivos que la utilizan. Esto nos permite corregir los problemas antes que los usuarios lleguen a reportarlos. Algo indispensable para cualquier programador que se preocupe por el buen funcionamiento de sus proyectos.

Para este ejemplo vamos a partir de un proyecto ya creado en Firebase y la aplicación de Android correctamente enlazada.

Configura Crashlytics en Firebase Console

En primer lugar, abre tu Firebase Console, selecciona el proyecto al que esté enlazada tu aplicación y en el menú lateral izquierdo pulsa en Crashlytics.

Ahora en el contenedor de la derecha, selecciona: ‘No, quiero configurar una nueva aplicación de Firebase‘.

El siguiente botón que se te muestra simplemente es un enlace que lleva a la documentación.

Al pulsarlo verás otro mensaje de espera. Ahora solo queda implementar Firebase Crashlytics en el código de la app para empezar a ver los errores generados.

Implementar Firebase Crashlytics en la aplicación

Abre tu proyecto en Android Studio. Añade las siguientes líneas en el archivo build.gradle (Proyecto):

buildscript {
    repositories {
        google()
        maven { //Crashlytics
            url 'https://maven.fabric.io/public'
        }

    }
    dependencies {
        classpath 'com.google.gms:google-services:4.3.3' //versión 3.1.2 o superior
        // Crashlytics plugin
        classpath 'io.fabric.tools:gradle:1.31.2'  
    }
}

allprojects {
    repositories {
        google()
    }
}

En el archivo build.gradle (App) añade la siguiente línea justo debajo de ‘apply plugin: ‘com.android.application’ ubicado en la primera línea:

apply plugin: 'io.fabric'

En la parte inferior del archivo en la sección ‘dependencies‘ añade:

implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

No olvides re-sincronizar las nuevas dependencias antes de seguir.

Bien, esto es todo lo que hay que hacer para implementar Firebase Crashlytics en tu app. Ahora ejecútala en un emulador (con servicios de Google) o en un dispositivo real y la conexión con Firebase debería ser automática.

Si todo ha ido bien, si vuelves al panel de Crashlytics deberías ver esto:

Pulsa ‘Ir al panel de Crashlytics‘ para ver el panel principal…

Panel de Crashlytics en Firebase Console

Obviamente no hay datos. Supuestamente todo funciona, pero vamos a ponerlo a prueba generando un fallo en la aplicación para comprobar si Crashlytics lo detecta. Para ello añade la siguiente línea de código en un evento onClick de un botón por ejemplo.

Crashlytics.getInstance().crash();

Ejecuta la app y pulsa el botón al que has añadido el código anterior. Esta línea provocará el cierre forzado de la aplicación, ahora vuélvela a abrir pero no pulses el botón, dale unos segundos para que el fallo sea notificado a Crashlytics. A los pocos minutos verás el error reflejado en el recuadro inferior ‘Problemas’ del Panel de Crashlytics:

Si pulsas en la indicendia verás un montón de información valiosa que te ayudará a determinar donde se está produciendo el error, en qué dispositivos, con qué versión de Android, el registro del Logcat y otros tantos datos. Ahora recuerda eliminar la línea que has añadido para forzar el cierre de tu app.

Queda confirmada la correcta implementación de Firebase Crashlytics en la aplicación, prepara la actualización y lánzala en la Developer Console para empezar a obtener datos de los errores que se generan entre tu público.

-¿Te ha gustado? Si tienes dudas escríbe en los comentarios y si el artículo te ha ayudado compártelo con tus amigos en la redes sociales 😀

Mario Camí

Desarrollador de aplicaciones Android. Amante de todo lo Open Source, de los videojuegos y nuevas tecnologías. En mi tiempo libre comparto todo lo aprendido y lo que aprendo en el desarrollo de Android a modo de artículo en el blog. La información nos hará libres!

También te podría gustar...