Este início rápido descreve como configurar o Firebase Crashlytics em seu aplicativo com o SDK do Firebase Crashlytics para que você possa obter relatórios de falhas abrangentes no console do Firebase.Com o Crashlytics para Android, você obtém relatórios de travamentos, erros não fatais e erros de "Aplicativo não está respondendo" (ANR).
A configuração do Crashlytics requer tarefas no console do Firebase e no seu IDE (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 falha ao Firebase.
Antes de você começar
Se ainda não o fez, adicione o Firebase ao seu projeto Android. Se você não tiver um aplicativo Android, poderá fazer o download de um aplicativo de amostra .
Recomendado : para obter recursos como usuários sem falhas, registros de navegação e alertas de velocidade, você precisa ativar o Google Analytics em seu projeto Firebase.
Se o seu projeto Firebase existente não tiver o Google Analytics ativado, você pode ativar o Google Analytics na guia Integrações de suas > Configurações do projeto no console do Firebase.
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 Crashlytics ao seu aplicativo
No arquivo Gradle do módulo (nível do aplicativo) (geralmente<project>/<app-module>/build.gradle
), adicione a dependência para a biblioteca Crashlytics do Android. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.Para uma experiência ideal com o Crashlytics, recomendamos habilitar o Google Analytics em seu projeto do Firebase e adicionar o SDK do Firebase para Google Analytics ao seu aplicativo.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.0') // Add 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' }
Ao usar o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.
(Alternativa) Adicionar dependências da biblioteca Firebase sem usar o BoM
Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca Firebase em sua linha de dependência.
Observe que, se você usar várias bibliotecas do Firebase em seu aplicativo, recomendamos usar o BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.
dependencies { // Add 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.3.3' implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.0') // Add 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' }
Ao usar o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.
(Alternativa) Adicionar dependências da biblioteca Firebase sem usar o BoM
Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca Firebase em sua linha de dependência.
Observe que, se você usar várias bibliotecas do Firebase em seu aplicativo, recomendamos usar o BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.
dependencies { // Add 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.3.3' implementation 'com.google.firebase:firebase-analytics:21.2.0' }
Etapa 2 : adicione o plug-in Crashlytics Gradle ao seu aplicativo
No arquivo Gradle de nível raiz (nível de projeto) (
<project>/build.gradle
), adicione o plug-in Crashlytics Gradle como uma dependência buildscript:buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... classpath 'com.android.tools.build:gradle:7.2.0' // Make sure that you have the Google services Gradle plugin dependency classpath 'com.google.gms:google-services:4.3.15' // Add the dependency for the Crashlytics Gradle plugin classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2' } }
No arquivo Gradle do módulo (nível do aplicativo) (geralmente
<project>/<app-module>/build.gradle
), adicione o plug-in Crashlytics Gradle:plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Crashlytics Gradle plugin id '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 Crashlytics do console do Firebase, você precisa forçar uma falha de teste.
Adicione um código ao seu aplicativo que você pode usar para forçar uma falha de teste.
Você pode usar o código a seguir na
MainActivity
do seu aplicativo para adicionar um botão ao seu aplicativo que, quando pressionado, causa uma falha. O botão é rotulado como "Test Crash".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))
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));
Crie e execute seu aplicativo.
Force a falha de teste para enviar o primeiro relatório de falha do seu aplicativo:
Abra seu aplicativo no dispositivo ou emulador de teste.
Em seu aplicativo, pressione o botão "Test Crash" que você adicionou usando o código acima.
Depois que seu aplicativo falhar, reinicie-o para que ele possa enviar o relatório de falha ao Firebase.
Acesse o painel do Crashlytics do console do Firebase para ver a falha do seu teste.
Se você atualizou o console e ainda não está vendo a falha de teste após cinco minutos, habilite o log de depuração para ver se seu aplicativo está enviando relatórios de falha.
E é isso! O Crashlytics agora está monitorando seu aplicativo em busca de falhas, erros não fatais e ANRs. Visite o painel do Crashlytics para visualizar e investigar todos os seus relatórios e estatísticas.
Próximos passos
- Personalize a configuração do relatório de travamento adicionando relatórios opcionais, logs, chaves e rastreamento de erros não fatais.
- Integre-se com o Google Play para que você possa filtrar os relatórios de falhas do seu aplicativo Android pela trilha do Google Play diretamente no painel do Crashlytics. Isso permite que você concentre melhor seu painel em compilações específicas.
- No Android Studio, visualize e filtre os dados do Crashlytics.
- Use a janela App Quality Insights (AQI) no Android Studio para visualizar os dados do Crashlytics junto com seu código — não é necessário alternar entre o painel do Crashlytics e o IDE para começar a depurar os principais problemas.
- Obtenha acesso à janela AQI na versão Electric Eel do Android Studio (estável) ou experimente os novos recursos AQI no Flamingo (beta). Baixe a versão desejada do Android Studio.
- Aprenda a usar a janela AQI na documentação do Android Studio.
- Nós adoraríamos ouvir de você! Envie-nos comentários sobre a janela AQI preenchendo um relatório de bug .