“Catch ‘em all” com Firebase Crash Reporting

Dario Mungoi
GDG Maputo
Published in
3 min readSep 15, 2016

O que acontece depois de desenvolver uma app e publicar no playstore?
Assumindo que somos bons desenvolvedores que realizam todo tipo de testes antes de publicar no playstore, como resposta a pergunta acima podemos apenas dizer que esta tudo bem e os utilizadores estão felizes a aproveitar todas as novas funcionalidades que decidimos criar para eles.

Porque apesar de nos considerarmos bons na nossa arte, também somos humanos e humanos são propensos a cometer erros que resultam em bugs e estes por sua vez resultam em uma má experiência para os utilizadores até ao ponto em que estes comecem a desinstalar a nossa aplicação dos seus dispositivos.
Após ver os reviews a baixar e reclamações dos utilizadores, a nossa maior preocupação será em entender Como e o que esta a causar os erros na nossa aplicação.

Para ajudar-nos a responder a essa pergunta e devolver glória a nossa aplicação, irei neste post falar sobre o Firebase CrashReporting e mostrar de forma super simples a configuração em uma app android.

Firebase CrashReporting

O Firebase Crash Reporting é um dos serviços do Firebase e permite a visualização dos erros automaticamente capturados sempre que estes ocorrem no dispositivo de um utilizador.
É possível visualizar todos erros registados a partir do console do Firebase e utilizando os filtros disponíveis, podemos:

  • Filtrar os erros consoante a versão da aplicação que pretendemos verificar.
  • Filtrar os erros consoante a gravidade dos mesmos(Fatais — Resultaram na interrupção da app, Não Fatais- Uma excepção registada que não resultou a interrupção da app)
  • Filtrar os erros pela data ou período em que estes foram registados.

Ao realizar a combinação dos diferentes filtros existentes, o console irá automaticamente nos mostrar a quantidade de erros e utilizadores afectados como mostra a figura abaixo.

Para além do gráfico, após aplicar o filtro o Firebase apresenta todos os erros em uma lista onde ao clicar em cada um deles podemos ver todos os detalhes sobre o mesmo incluindo o stacktrace, informação sobre o dispositivo(Marca, modelo) e as condições(Tipo rede, nível de bateria) em que estes se encontrava no momento do erro.

Com toda esta informação disponível, saber exactamente que erros estão a criar problemas aos utilizadores e quais foram as causas que os originaram torna-se extremamente simples.

Após saber sobre o erro e como aconteceu,o Firebase Crash Reporting permite que possamos enviar notificações ao grupo de utilizadores atingidos para que fiquem mais calmos e saibam que pensamos neles.
Isto só é possível pelo simples facto do Firebase Crash Reporting estar conectado ao Firebase Analytics e permitir que possamos criar audiências a partir dum grupo de utilizadores que tenha sido atingido pelo mesmo erro

De todos os serviços do Firebase, o Crash Reporting é o mais fácil de incorporar em uma aplicação pois o único passo é apenas adicionar a linha abaixo a secção de dependências do ficheiro de configuração do gradle da aplicação.

compile 'com.google.firebase:firebase-crash:9.4.0'

Para fechar o post gostaria de deixar ficar que comparado a outros serviços como o Crashlytics, o Firebase Crash Reporting encontra-se em grande desvantagem pela falta de algumas funcionalidades como por exemplo poder marcar um erro apos este ter sido resolvido.

Apesar desta a algumas outras desvantagens apresentadas no artigo abaixo, acredito que nos próximos meses iremos ter uma ferramenta de Crash Reporting madura no momento que o Firebase Crash Reporting sair da fase de beta testing.

Ate a próxima!

DM =)

Links úteis

Diferença entre Firebase Crash Reporting e Crashlytics

--

--

Dario Mungoi
GDG Maputo

Senior Android Developer at @Shopify, Design Sprint Master, former Android GDE