Actualiza a Firebase Crashlytics desde Firebase Crash Reporting

ios
android

Crashlytics es el nuevo generador de informes de fallos principal para Firebase. Si tu app usa Firebase Crash Reporting, tenemos buenas noticias: Crashlytics ofrece informes de fallos mejorados, con un proceso de configuración muy similar al que estás acostumbrado, por lo que la actualización es simple:

  1. Actualiza las dependencias de tu proyecto.
  2. Migra las llamadas al registro, si las tienes.
  3. Configura la inicialización manual, si la usaste.

Actualiza las dependencias del proyecto

ios

Para actualizar las dependencias de tu app para Firebase Crashlytics, intercambia los archivos del pod de Crashlytics y la secuencia de comandos de la fase de compilación:

  1. Abre el Podfile de tu proyecto.
  2. Reemplaza el pod de Firebase Crash Reporting, pod 'Firebase/Crash', por los pods Core y Crashlytics de Firebase:
    pod 'Firebase/Core'
    pod 'Fabric', '~> 1.7.2'
    pod 'Crashlytics', '~> 3.9.3'
  3. En la terminal, navega al directorio de tu proyecto y, luego, instala los pods:
    pod install
  4. Reemplaza la fase de compilación de Firebase Crash Reporting, "${PODS_ROOT}"/FirebaseCrash/upload-sym, con la fase de compilación de Crashlytics:
    "${PODS_ROOT}/Fabric/run"
android

A fin de actualizar las dependencias de tu app para Firebase Crashlytics, haz los siguientes cambios en build.gradle del nivel de tu app:

apply plugin: 'com.android.application'
/* Add the Fabric plugin: */
apply plugin: 'io.fabric'

dependencies {
    // ...

    /* Delete Crash Reporting:
    compile 'com.google.firebase:firebase-crash:11.4.2'

    Add Crashlytics: */
    compile 'com.crashlytics.sdk.android:crashlytics:2.9.1'
}
Nota: Para una funcionalidad completa, Crashalytics requiere el uso de la versión firebase-core 11.4.2 o superior.

Migra los registros

Si usaste registros personalizados de Firebase Crash Reporting, debes actualizarlos para Firebase Crashlytics también:

ios
Firebase Crash Reporting Firebase Crashlytics
Objective-C Swift Objective-C & Swift
FIRCrashLog CLSLog
FIRCrashLogv CLSLogv
FIRCrashMessage FirebaseCrashMessage CLSLog
FIRCrashNSLog CLSNSLog
FIRCrashNSLogv FirebaseCrashNSLogv CLSNSLogv
android
Firebase Crash ReportingFirebase Crashlytics
FirebaseCrash.log() Crashlytics.log()
FirebaseCrash.logcat() Crashlytics.log()
FirebaseCrash.report() Crashlytics.logException()

Configurar la inicialización manual

Al igual que Firebase Crash Reporting, el SDK de Firebase Crashlytics inicializa Crashlytics automáticamente apenas lo agregas a tu app. Si en su lugar inicializas la generación de informes de forma manual, Crashlytics tiene una manera de hacerlo también:

ios
  1. Desactiva la recopilación automática con una clave nueva en tu archivo Info.plist:
    • Clave: firebase_crashlytics_collection_enabled
    • Valor: false
  2. Reemplaza la inicialización de Crash Reporting por una para Crashlytics:
    Objective-C
    /* Delete Crash Reporting:
    [FIRCrash crashCollectionEnabled:YES];
    
       Add Crashlytics: */
    [Fabric with:@[[Crashlytics class]]];
    Swift
    /* Delete Crash Reporting:
    Crash.sharedInstance().isCrashCollectionEnabled = true
    
       Add Crashlytics: */
    Fabric.with([Crashlytics.self])
android
  1. Reemplaza la etiqueta meta-data de Firebase Crash Reporting en tu archivo AndroidManifest.xml con una para Crashlytics:
    <!-- Delete Crash Reporting:
    <meta-data android:name="firebase_crash_collection_enabled" android:value=false />
    
         Add Crashlytics: -->
    <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />
  2. Reemplaza la llamada de inicialización en las actividades que correspondan también:
    /*   Delete Crash Reporting:
    FirebaseCrash.setCrashCollectionEnabled(true);
    
         Add Crashlytics: */
    Fabric.with(this, new Crashlytics());
Nota: Una vez que se inicializa, Crashlytics continúa informando fallos hasta que el usuario cierra la app. Si deseas ofrecer a los usuarios la opción de inhabilitar los informes después de inicializar Crashlytics, deberán reiniciar tu app para que el cambio tenga efecto.

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.