Neste guia de início rápido, descrevemos como configurar o Firebase Crashlytics no seu app com o SDK do Firebase Crashlytics para que você receba relatórios de erros abrangentes no Console do Firebase. Com o Crashlytics para Android, você recebe relatórios sobre falhas, erros não fatais e erros do tipo "O app não está respondendo" (ANR).
A configuração do Crashlytics exige tarefas no Console do Firebase e no ambiente de desenvolvimento integrado, como adicionar um arquivo de configuração do Firebase e o SDK do Crashlytics. Para concluir a configuração, você precisará forçar uma falha de teste para enviar seu primeiro relatório de erros ao Firebase.
Antes de começar
Adicione o Firebase ao projeto para Android, caso ainda não tenha feito isso. Se você não tiver um app Android, faça o download de um app de exemplo.
Recomendado: para ter recursos como usuários sem falhas, registros de navegação estrutural e alertas de velocidade, ative o Google Analytics no seu projeto do Firebase.
Caso seu projeto atual do Firebase não tenha o Google Analytics ativado, ative na guia Integrações das suas
no Console do Firebase. > Configurações do projeto Se você estiver criando um novo projeto do Firebase, ative o Google Analytics durante o fluxo de trabalho de criação do projeto.
Etapa 1: adicionar o SDK do Firebase Crashlytics ao seu app
Usando a BoM do Firebase para Android, declare a dependência da biblioteca Android do Crashlytics no seu arquivo do Gradle (nível do app) do módulo, que geralmente éapp/build.gradle
.
Para uma experiência ideal com o Crashlytics, recomendamos ativar o Google Analytics no seu projeto e adicionar o SDK do Firebase para Analytics ao seu app.
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics' implementation 'com.google.firebase:firebase-analytics' }
Com a BoM do Firebase para Android, seu app sempre usará versões compatíveis das bibliotecas do Firebase para Android.
(Alternativa) Declare as dependências das bibliotecas do Firebase sem usar a BoM.
Se você preferir não usar a BoM do Firebase, especifique cada versão das bibliotecas do Firebase na linha de dependência correspondente.
Caso você use várias bibliotecas do Firebase no seu app, recomendamos usar a BoM para gerenciar as versões dessas bibliotecas para garantir a compatibilidade de todas elas.
dependencies { // Declare the dependencies for the Crashlytics and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics:18.2.11' implementation 'com.google.firebase:firebase-analytics:21.0.0' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' }
Com a BoM do Firebase para Android, seu app sempre usará versões compatíveis das bibliotecas do Firebase para Android.
(Alternativa) Declare as dependências das bibliotecas do Firebase sem usar a BoM.
Se você preferir não usar a BoM do Firebase, especifique cada versão das bibliotecas do Firebase na linha de dependência correspondente.
Caso você use várias bibliotecas do Firebase no seu app, recomendamos a BoM para gerenciar as versões dessas bibliotecas para garantir a compatibilidade de todas elas.
dependencies { // Declare the dependencies for the Crashlytics and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.11' implementation 'com.google.firebase:firebase-analytics-ktx:21.0.0' }
Etapa 2: adicionar o plug-in do Firebase Crashlytics ao seu app
No arquivo
build.gradle
no nível do projeto, adicione o plug-in do Gradle para Crashlytics como uma dependência do buildscript.buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() } dependencies { // ... // Check that you have the Google services Gradle plugin v4.3.2 or later // (if not, add it). classpath 'com.google.gms:google-services:4.3.10' // Add the Crashlytics Gradle plugin classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.0' } } allprojects { repositories { // Check that you have Google's Maven repository (if not, add it). google() } }
No arquivo
build.gradle
no nível do app, aplique o plug-in do Gradle para Crashlytics:apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin // Apply the Crashlytics Gradle plugin apply plugin: 'com.google.firebase.crashlytics'
Etapa 3: forçar uma falha de teste para concluir a configuração
Para concluir a configuração do Crashlytics e ver os dados iniciais no painel do Console do Firebase, é necessário forçar uma falha de teste.
Adicione um código ao app que possa ser usado para forçar uma falha no teste.
É possível usar o código a seguir no
MainActivity
do seu app para adicionar um botão que, quando pressionado, causa uma falha. O botão é chamado de "Testar falha".Java
Button crashButton = new Button(this); crashButton.setText("Test Crash"); crashButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { throw new RuntimeException("Test Crash"); // Force a crash } }); addContentView(crashButton, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
Kotlin+KTX
val crashButton = Button(this) crashButton.text = "Test Crash" crashButton.setOnClickListener { throw RuntimeException("Test Crash") // Force a crash } addContentView(crashButton, ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
Crie e execute seu app.
Force a falha de teste para enviar o primeiro relatório de erros do app:
Abra o app no dispositivo ou emulador de teste.
No app, pressione o botão "Testar falha" que você adicionou usando o código acima.
Depois que o app falhar, reinicie-o para que ele possa enviar o relatório de falhas ao Firebase.
Acesse o painel do Crashlytics no Console do Firebase para ver a falha do teste.
Se você atualizou o console e ainda não consegue ver a falha de teste após cinco minutos, ative a geração de registros de depuração para ver se o app está enviando relatórios de falha.
Pronto. O Crashlytics agora está monitorando seu app em busca de falhas, erros não fatais e ANRs. Acesse o painel do Crashlytics para ver e analisar todos os relatórios e estatísticas.
Próximas etapas
- Para personalizar a configuração do relatório de erros, adicione relatórios de ativação, registros, chaves e rastreamento de erros não fatais.
- Faça a integração com o Google Play para filtrar os relatórios de erros do app Android pela faixa do Google Play diretamente no painel do Crashlytics. Isso permite que você configure o painel para verificar versões específicas.
- Veja stack traces e estatísticas de falhas com seu código na janela App Quality Insights no Android Studio (disponível a partir da versão Electric Eel 2022.1.1).