Upgrade do Firebase Crash Reporting para o Firebase Crashlytics

iOS
Android

O Crashlytics é o novo e principal relatório de erros do Firebase. Se o aplicativo usa o Firebase Crash Reporting, temos boas notícias: o Crashlytics oferece relatórios de erros aprimorados com quase o mesmo processo de configuração que você está acostumado, então a atualização é simples:

  1. Atualize as dependências do seu projeto.
  2. Migre todas as chamadas de registro que você tiver.
  3. Configure a inicialização manual, se foi a que você usou.

Atualizar dependências do projeto

iOS

Para atualizar as dependências do seu aplicativo para o Firebase Crashlytics, troque os arquivos do pod do Crashlytics e do script de fase de versão:

  1. Abra o Podfile do projeto.
  2. Substitua o pod do Firebase Crash Reporting, pod 'Firebase/Crash', pelos pods do Firebase Core e do Crashlytics:
    pod 'Firebase/Core'
    pod 'Fabric', '~> 1.7.2'
    pod 'Crashlytics', '~> 3.9.3'
  3. No seu terminal, navegue até o diretório do projeto e instale os pods:
    pod install
  4. Substitua a fase de versão do Firebase Crash Reporting, "${PODS_ROOT}"/FirebaseCrash/upload-sym, pela fase de versão do Crashlytics:
    "${PODS_ROOT}/Fabric/run"
Android

Para atualizar as dependências do seu app para o Firebase Crashlytics, faça as seguintes alterações no build.gradle no seu nível do 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'
}
Observação: para funcionalidades completas, o Crashlytics requer o uso de firebase-core 11.4.2 ou versões posteriores.

Migrar registros

Se você usou registros personalizados do Firebase Crash Reporting, você também precisa atualizá-los para o Firebase Crashlytics:

iOS
Firebase Crash Reporting Firebase Crashlytics
Objective-C Swift Objective-C e 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 a inicialização manual

Assim como o Firebase Crash Reporting, o SDK do Firebase Crashlytics inicializa automaticamente o Crashlytics assim que você o adiciona ao seu aplicativo. Se, em vez disso, você inicializar os relatórios manualmente, também há uma maneira para o Crashlytics fazer isso:

iOS
  1. Desative a coleta automática com uma nova chave no arquivo Info.plist:
    • Chave: firebase_crashlytics_collection_enabled
    • Valor: false
  2. Substitua a chamada de inicialização para o Crash reporting por uma para o 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. Substitua a tag meta-data do Firebase Crash Reporting no seu arquivo AndroidManifest.xml por uma para o 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. Também substitua a chamada de inicialização em atividades relevantes:
    /*   Delete Crash Reporting:
    FirebaseCrash.setCrashCollectionEnabled(true);
    
         Add Crashlytics: */
    Fabric.with(this, new Crashlytics());
Observação: quando inicializado, o Crashlytics gera relatórios de falha até o usuário fechar o aplicativo. Se você quiser dar aos usuários a opção de cancelar a notificação depois de inicializar o Crashlytics, eles precisarão reiniciar seu aplicativo antes que a alteração possa entrar em vigor.

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.