Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Comienza a usar Firebase Crashlytics

En esta guía de inicio rápido, se describe cómo configurar Firebase Crashlytics en tu app con el SDK de Firebase Crashlytics para que puedas obtener informes de fallas completos en Firebase console.

La configuración de Crashlytics requiere realizar tareas en Firebase console y en el IDE (por ejemplo, agregar un archivo de configuración de Firebase y el SDK de Crashlytics). Para finalizar la configuración, deberás forzar una falla de prueba a fin de enviar el primer informe de fallas a Firebase.

Antes de comenzar

  1. Si aún no lo has hecho, agrega Firebase a tu proyecto de Unity. Si aún no tienes un proyecto de Unity, puedes descargar una app de ejemplo.

  2. Recomendación: Para obtener funciones como usuarios que no experimentan fallas, registros de rutas de navegación y alertas de velocidad, debes habilitar Google Analytics en tu proyecto de Firebase.

    • Si el proyecto de Firebase actual no tiene habilitado Google Analytics, puedes hacerlo en la pestaña Integraciones de tu  > Configuración del proyecto en Firebase console.

    • Si quieres crear un nuevo proyecto de Firebase, habilita Google Analytics durante el flujo de trabajo de creación.

Paso 1: Habilita Crashlytics en Firebase console

  1. Ve al panel de Crashlytics en Firebase console.

  2. Asegúrate de que tu app esté seleccionada en el menú desplegable junto a Crashlytics en la parte superior de la página.

  3. Haz clic en Habilitar Crashlytics.

Paso 2: Agrega el SDK de Firebase Crashlytics a tu app

  1. Descarga el SDK de Firebase Unity y descomprímelo en el lugar que prefieras.

    El SDK de Firebase Unity no es específico para cada plataforma.

  2. Abre tu proyecto de Unity y ve a Assets > Import Package > Custom Package.

  3. En el SDK que descomprimiste, selecciona importar el SDK de Crashlytics (FirebaseCrashlytics.unitypackage).

    También puedes importar cualquier otro producto de Firebase admitido.

  4. En la ventana Import Unity Package, haz clic en Import.

Paso 3: Inicializa Crashlytics

  1. Crea una secuencia de comandos nueva en C# y agrégala a GameObject en la escena.

    1. Abre la primera escena y crea un GameObject vacío con el nombre CrashlyticsInitializer.

    2. Haz clic en Add Component en el Inspector del objeto nuevo.

    3. Selecciona la secuencia de comandos CrashlyticsInit para agregarla al objeto CrashlyticsInitializer.

  2. Inicializa Crashlytics en el método Start de la secuencia de comandos:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    public class CrashlyticsInit : MonoBehaviour {
        // Use this for initialization
        void Start () {
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                var dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
    
                    // Set a flag here for indicating that your project is ready to use Firebase.
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
        }
    
      // Update is called once per frame
      void Update()
        // ...
    }

Paso 4: Ejecuta tu proyecto

  1. Exporta tu proyecto a iOS o Android.

  2. Cuando se complete la exportación, compara tu proyecto exportado con los siguientes ejemplos de configuración de exportación para verificar que se haya exportado correctamente.

    Si te parece que faltan archivos después de comparar el proyecto, abre Unity Editor y ejecuta el agente de resolución de Servicios de Google Play (consulta las siguientes instrucciones).

    iOS

    Android

Ejecuta el agente de resolución si faltan archivos después de la exportación (según sea necesario)

Los agentes de resolución de los Servicios de Google Play garantizan que el proyecto de Unity tenga las dependencias necesarias para exportar la app a iOS o Android. Si necesitas más detalles sobre el agente de resolución, consulta el archivo README del agente de resolución de archivos JAR de Unity.

Paso 5: Fuerza una falla de prueba para finalizar la configuración

Para finalizar la configuración de Crashlytics y ver los datos iniciales en el panel de Crashlytics de Firebase console, debes forzar una falla de prueba.

  1. En la ventana Hierarchy, crea un objeto nuevo de la siguiente manera:

    1. Haz clic con el botón derecho y selecciona Create Empty para agregar un GameObject vacío nuevo a un ambiente del juego.

    2. Asígnale el nombre CrashlyticsTester al objeto nuevo.

    3. Asegúrate de que el objeto CrashlyticsTester esté seleccionado antes de continuar.

  2. En la pestaña Inspector, agrega una secuencia de comandos nueva que cause una falla de prueba unos segundos después de ejecutar la app, de la siguiente manera:

    1. Haz clic en Add Component.

    2. Selecciona New Script en la parte inferior de la lista de componentes.

    3. Asígnale también el nombre CrashlyticsTester a la nueva secuencia de comandos y agrégale el siguiente contenido:

      using System;
      using UnityEngine;
      
      public class CrashlyticsTester : MonoBehaviour {
      
          int updatesBeforeException;
      
          // Use this for initialization
          void Start () {
            updatesBeforeException = 0;
          }
      
          // Update is called once per frame
          void Update()
          {
              // Call the exception-throwing method here so that it's run
              // every frame update
              throwExceptionEvery60Updates();
          }
      
          // A method that tests your Crashlytics implementation by throwing an
          // exception every 60 frame updates. You should see non-fatal errors in the
          // Firebase console a few minutes after running your app with this method.
          void throwExceptionEvery60Updates()
          {
              if (updatesBeforeException > 0)
              {
                  updatesBeforeException--;
              }
              else
              {
                  // Set the counter to 60 updates
                  updatesBeforeException = 60;
      
                  // Throw an exception to test your Crashlytics implementation
                  throw new System.Exception("test exception please ignore");
              }
          }
      }
      
  3. Compila y ejecuta tu app:

    1. Ve a File > Build Setting y, luego, selecciona Android o iOS en la lista de plataformas.

    2. Haz clic en Build and Run en tu app para iOS o Android.

  4. Una vez que tu app se esté ejecutando, mira el registro del dispositivo y espera a que se active la excepción desde CrashlyticsTester.

    • iOS: Puedes ver los registros en el panel inferior de Xcode.

    • Android: Ejecuta el comando adb logcat en la terminal para ver los registros.

  5. Cuando veas la excepción en el registro del dispositivo, reinicia la app para que pueda enviar el informe de fallas a Firebase.

  6. Ve al panel de Crashlytics en Firebase console para ver la falla de prueba.

    Si actualizaste la consola y sigues sin poder ver la falla de prueba después de cinco minutos, habilita el registro de depuración para confirmar si tu app está enviando informes de fallas.


Eso es todo. Crashlytics ahora supervisa la app para detectar fallas, y puedes ver y, también, investigar informes y estadísticas de fallas en el panel de Crashlytics.

Próximos pasos