Ir para o console

Alterações da API Firebase Crashlytics para Unity

Com o lançamento do Firebase Crashlytics para Unity, a equipe do Firebase está trazendo o recurso que os desenvolvedores usam no Fabric para o Firebase. Assim, é possível fazer algumas pequenas alterações para garantir que as APIs do Firebase Crashlytics sejam mais intuitivas e fáceis para o desenvolvedor.

Os desenvolvedores que já usam o SDK do Fabric Crashlytics podem precisar fazer algumas pequenas alterações no código ao atualizar para o Firebase Crashlytics. Neste guia, fornecemos detalhes sobre as alterações específicas na API, o motivo da alteração e sugestões úteis quando soluções alternativas forem necessárias.

O Fabric.Crashlytics agora é Firebase.Crashlytics

Nós mudamos nosso namespace do Fabric para o Firebase.

Fabric

using Fabric.Crashlytics;

Firebase

using Firebase.Crashlytics;

O RecordCustomException agora é LogException

Registre exceções não fatais personalizadas que foram capturadas e processadas.

Fabric

Crashlytics.RecordCustomException(string name, string reason, StackTrace stackTrace);
Crashlytics.RecordCustomException(string name, string reason, string stackTraceString);

Firebase

Crashlytics.LogException(Exception ex);

Motivo para a alteração

Esta função é mais frequentemente usada para registrar uma instância de uma Exception. Em vez de exigir que você extraia "name", "reason" e "stackTrace" manualmente, o que resulta em código supérfluo, agora é possível fornecer a instância da Exception e deixar que o Firebase Crashlytics extraia as informações necessárias.

Alternativa

Se você estivesse usando esses parâmetros para de outra forma além de extrair as informações de uma exceção diretamente, ainda seria possível alcançar o comportamento anterior criando sua própria subclasse de Exception com os metadados personalizados na descrição.

O método SetKeyValue agora é SetCustomKey

Defina qualquer par de chave-valor para enviar junto com o relatório de erros. Redefinir a mesma chave atualizará o valor.

Fabric

Crashlytics.SetKeyValue(string key, string value);

Firebase

Crashlytics.SetCustomKey(string key, string value);

Motivo para a alteração

Esse método foi renomeado para tornar o comportamento mais claro e melhorar a consistência com outras APIs do Firebase.

O método SetUserIdentifier agora é SetUserId

Defina um identificador de usuário para ajudar a entender qual foi afetado por uma falha.

Fabric

Crashlytics.SetUserIdentifier(string identifier);

Firebase

Crashlytics.SetUserId(string identifier);

Motivo para a alteração

Esse método foi renomeado para melhorar a consistência com outras APIs do Firebase. Como vantagem, ele é mais curto, e quem não ama ter que digitar alguns caracteres a menos?

Os métodos SetUserEmail e SetUserName foram removidos

Anteriormente, era possível definir um nome ou e-mail associado a uma falha usando métodos explícitos. Essas informações não serão mais explicitamente definidas.

Fabric

Crashlytics.SetUserEmail(string email);
Crashlytics.SetUserName(string name);

Motivo para a alteração

O Google se esforça para proteger os dados do cliente, e parte desse esforço é criar APIs que fazem o mesmo para ferramentas de desenvolvimento. Essas APIs específicas do usuário foram removidas para incentivar o uso de métodos gerados e sem identificação pessoal para saber qual usuário foi afetado por uma falha.

Alternativa

Para especificar qual usuário foi afetado por uma falha, o método preferencial é SetUserId. No entanto, se essa solução não for sustentável, é possível conseguir a mesma funcionalidade com SetCustomKey.

Os métodos Crash e ThrowNonFatal foram removidos

Anteriormente, o Crashlytics fornecia dois métodos de utilitário para lançar exceções para fins de teste. Eles não serão incluídos no Firebase Crashlytics.

Fabric

Crashlytics.Crash();
Crashlytics.ThrowNonFatal();

Motivo para a alteração

O Crashlytics para Unity é executado em muitos ambientes diferentes, e é possível que ocorram diversos tipos de falhas. Esses métodos não especificavam claramente se as falhas resultantes ocorreram no C# ou no SDK nativo específico da plataforma subjacente.

Alternativa