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...