Veja neste guia como personalizar seus relatórios de erros usando o SDK do Firebase Crashlytics. Por padrão, o Crashlytics coleta automaticamente relatórios de erros para todos os usuários do seu app. Se quiser, desative os relatórios de falhas automáticos e ative os relatórios de permissão para os usuários. O Crashlytics fornece quatro mecanismos de geração de registros prontos para uso: chaves personalizadas, registros personalizados, identificadores de usuários e exceções capturadas.
Adicionar chaves personalizadas
As chaves personalizadas ajudam você a chegar ao estado específico do seu aplicativo que está gerando uma falha. É possível associar pares de chave-valor arbitrários aos seus relatórios de erros e usar as chaves personalizadas para pesquisar e filtrar relatórios de erros no Console do Firebase.
- No painel do Crashlytics, é possível pesquisar problemas que correspondam a uma chave personalizada.
- Ao analisar um problema específico no console, você pode ver as chaves personalizadas associadas a cada evento (subguia Chaves) e até mesmo filtrar os eventos por chaves personalizadas (Filtro, na parte superior da página).
Quando chamadas várias vezes, as chaves existentes são atualizadas com valores novos, e somente o valor mais atual é capturado quando uma falha é registrada.
Crashlytics.SetCustomKey(string key, string value);
Adicionar mensagens de registro personalizadas
As mensagens registradas são associadas aos dados da falha e são visíveis no painel do Firebase Crashlytics quando você visualiza uma falha específica.
Crashlytics.Log(string message);
Definir identificadores de usuários
É possível usar um ID, um token ou um valor com hash para identificar exclusivamente o usuário final do seu app sem divulgar ou transmitir qualquer informação pessoal. Também é possível limpar o valor ao defini-lo como uma string em branco. Esse valor é exibido no painel do Firebase Crashlytics ao visualizar uma falha específica.
Crashlytics.SetUserId(string identifier);
Reportar exceções não fatais
Registre exceções personalizadas em C# usando os seguintes métodos:
Crashlytics.LogException(Exception ex);
É possível incluir exceções personalizadas nos blocos try/catch do seu app:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
Ative a permissão para geração de relatórios
Por padrão, o Crashlytics coleta automaticamente relatórios de erros para todos os usuários do seu app. Você pode dar aos usuários mais controle sobre os dados que eles enviam, permitindo que eles ativem o relatório de falhas.
Para desativar a coleta automática e inicializar o Crashlytics apenas para usuários
selecionados, chame a modificação da coleta de dados do Crashlytics no tempo de execução. O
valor de modificação continua entre os lançamentos do seu app. Assim, o Crashlytics consegue
coletar relatórios automaticamente. Para desativar o relatório automático de falhas, transmita
false
como o valor de modificação. Quando definido como false
, o novo valor não se aplica
até a próxima execução do app.
Crashlytics.IsCrashlyticsCollectionEnabled = true
Gerenciar dados do Crash Insights
Com o Crash Insights, você soluciona problemas quando compara stack traces anônimos a traces de outros aplicativos do Firebase. Você receberá um aviso se o problema fizer parte de uma tendência maior. Para muitos problemas, o Crash Insights também oferece recursos para ajudar a depurar a falha.
Ele usa dados de falhas agregados para identificar tendências de estabilidade comuns. Caso prefira não compartilhar os dados do app, é possível desativar o Crash Insights no menu com o mesmo nome na parte superior da lista de problemas do Crashlytics no Console do Firebase.