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

Android desde cero: Reporte de bloqueos de Firebase

by
Difficulty:BeginnerLength:ShortLanguages:

Spanish (Español) translation by Ana Paulina Figueroa Vazquez (you can also view the original English article)

Hoy en día hay más de mil millones de personas usando dispositivos Android, y miles se unen a ellos diariamente. Asegurarte de que todas esas personas puedan disfrutar de tu aplicación no es una tarea sencilla.

Las características de los dispositivos Android varían ampliamente. Existen diferencias en los niveles de las APIs, tamaños de pantallas, densidades de píxeles así como la disponibilidad de los sensores de hardware. Para empeorar las cosas, los proveedores de hardware personalizan Android de forma exhaustiva, a menudo introduciendo pequeñas peculiaridades que son exclusivas de sus dispositivos.

Con tantas variables en juego, es probable que tu aplicación se bloquee en varios dispositivos y en muchas situaciones. Al recopilar y analizar información acerca de estos bloqueos puedes añadir soluciones a tu aplicación para volverla más robusta y así tener usuarios más contentos.

En este consejo rápido te mostraré cómo usar Firebase como una solución de reporte de bloqueos. Es gratuita, ofrece muchas herramientas útiles y es fácil de integrar con cualquier aplicación Android.

1. Creando un archivo de configuración de Firebase

Todos los proyectos de Android Studio que usen Firebase deben registrarse con la consola de Firebase de Google. Una vez que hayas iniciado sesión en la consola, haz clic en el botón Create New Project (Crear nuevo proyecto) para iniciar el proceso de registro.

Firebase console welcome screen

Asigna un nombre apropiado al proyecto y especifica el país en el que estés en el cuadro de diálogo que aparece.

Create a project dialog

A continuación haz clic en el botón Add Firebase to your Android app (Añadir Firebase a tu aplicación Android).

Platform selection screen

Ahora se te pedirá que escribas el nombre del paquete de la aplicación Android. Asegúrate de que el valor que proporciones coincida con el nombre del paquete usado por tu proyecto de Android Studio.

App configuration dialog

Finalmente, presiona el botón Add app (Añadir aplicación). Ahora tu navegador deberá comenzar a descargar un archivo llamado google-services.json de forma automática. Éste contiene detalles de configuración, tales como el ID del proyecto de Firebase, la clave de API y el ID de la aplicación, que son datos adaptados para tu aplicación.

Una vez que la descarga haya finalizado, mueve el archivo al directorio app de tu proyecto de Android Studio.

2. Configurando tu aplicación

Para poder usar Firebase en tu proyecto de Android Studio, debes agregar el complemento Google Services Gradle como dependencia en el archivo build.gradle de nivel superior, que se encuentra en el directorio raíz del proyecto.

Además debes aplicar el complemento Google Services Gradle. Por lo tanto, agrega la siguiente línea al final del archivo build.gradle del módulo app.

Ahora puedes añadir el Firebase Crash Reporting SDK (SDK para el reporte de bloqueos de Firebase) como una dependencia compile.

Eso es todo lo que tienes que hacer. A partir de este momento, Firebase generará un reporte de bloqueo automáticamente cada vez que tu aplicación falle.

3. Generando reportes de bloqueo manualmente

Las aplicaciones se bloquean cuando se encuentran con excepciones o errores no controlados. ¿Pero qué pasa con esas excepciones que se detectan usando bloques try...catch? bueno, Firebase no las reportará automáticamente, ya que asume que tú ya sabes acerca de ellas. Sin embargo a veces es posible que aún quieras ver esa información en tus reportes.

Para generar un reporte de bloqueo manualmente, debes usar la función FirebaseCrash.report() . Ésta espera un objeto Throwable como su único argumento. Por lo tanto, generalmente debes invocarla dentro de un bloque catch. El siguiente fragmento de código te muestra cómo usarla al gestionar una IOException:

Ésta es la forma en la que se ve el reporte de bloqueos en la consola de Firebase:

Crash reports screen of Firebase console

Como puedes ver, los reportes de bloqueos similares se agrupan para formar un clúster. Al hacer clic en un clúster y presionar el botón View Details (Ver detalles) puedes observar los reportes de bloqueos individuales contenidos en dicho clúster.

Crash details including stack trace

4. Agregando mensajes de registro a los reportes de bloqueo

Si bien los reportes de errores de Firebase incluyen seguimiento de pilas y una gran cantidad de datos de diagnóstico, quizá a veces estés interesado en obtener detalles más específicos acerca de las condiciones que causaron que tu aplicación fallara. Por ejemplo, quizá quieras saber los valores exactos de algunas variables locales importantes.

Una manera sencilla de incluir esos detalles en tus reportes es generar mensajes de registro personalizados usando el método FirebaseCrash.log(), que espera una cadena como su único argumento.

Éste es un fragmento de código que genera un mensaje de registro personalizado:

Toma en cuenta que un mensaje de registro personalizado solamente se incluye en un reporte de bloqueo subsecuente.

En la consola de Firebase puedes ver los mensajes de registro al final del reporte de bloqueo.

Log messages in Firebase console

Conclusión

Los bloqueos nunca deben ignorarse, ya que suelen ocasionar que los usuarios pierdan interés en tu aplicación. Además pueden provocar pérdida de datos. Al usar servicios como Firebase puedes supervisar regularmente tu aplicación para detectar bloqueos y cargar las correcciones apropiadas rápidamente. También es buena idea incluir detalles acerca de las correcciones en el registro de cambios de tu aplicación. ¡Así tus usuarios sabrán que te preocupas por ellos!.

Para saber más sobre el reporte de bloqueos de Firebase puede visitar su documentación oficial. Para saber más sobre Firebase para Android y otras tecnologías relacionadas ¡revisa algunos de nuestros otros tutoriales!.

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.