Catch up on everthing we announced at this year's Firebase Summit. Learn more

Primeiros passos com o Firebase Crashlytics

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ê possa receber relatórios de erros abrangentes no Console do Firebase.

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 do 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

  1. Adicione o Firebase ao seu projeto do Unity, caso ainda não tenha feito isso. Se você não tiver um projeto do Unity, faça o download de um app de exemplo.

  2. 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-o na guia Integrações das suas > Configurações do projeto no Console do Firebase.

    • Se estiver criando um novo projeto do Firebase, ative o Google Analytics durante o fluxo de trabalho de criação do projeto.

Etapa 1: ativar o Crashlytics no Console do Firebase

  1. Acesse o painel do Crashlytics no Console do Firebase.

  2. Verifique se seu app está selecionado na lista suspensa ao lado de Crashlytics na parte superior da página.

  3. Clique em Ativar Crashlytics.

Etapa 2: adicionar o SDK do Firebase Crashlytics ao seu app

  1. Faça o download do SDK do Firebase para Unity e descompacte o SDK em um local prático.

    O SDK do Firebase para Unity não é específico da plataforma.

  2. No seu projeto aberto do Unity, acesse Assets > Import Package > Custom Package.

  3. No SDK descompactado, selecione a opção para importar o SDK do Crashlytics (FirebaseCrashlytics.unitypackage).

    Também é possível importar qualquer outro produto do Firebase compatível.

  4. Na janela Import Unity Package, clique em Import.

Etapa 3: inicializar o Crashlytics

  1. Crie um novo script em C# e adicione-o a um GameObject no cenário.

    1. Abra seu primeiro cenário e crie um GameObject em branco chamado CrashlyticsInitializer.

    2. Clique em Adicionar componente no Inspetor para o novo objeto.

    3. Selecione seu script CrashlyticsInit para adicioná-lo ao objeto CrashlyticsInitializer.

  2. Inicialize o Crashlytics no método Start do script:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    public class CrashlyticsInit : MonoBehaviour {
        // Use this for initialization
        void Start () {
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                var dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
    
                    // Set a flag here for indicating that your project is ready to use Firebase.
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
        }
    
      // Update is called once per frame
      void Update()
        // ...
    }

Etapa 4: executar seu projeto

  1. Exporte seu projeto para iOS ou Android.

  2. Após a conclusão da exportação, verifique se o projeto foi exportado corretamente ao comparar o projeto exportado com o exemplo de configurações de exportação abaixo.

    Se parecer que faltam arquivos depois de comparar seu projeto, abra o Editor do Unity e execute o resolvedor do Google Play Services (veja as instruções abaixo).

    iOS

    Android

Executar o resolvedor se faltarem arquivos após a exportação (conforme necessário)

Os resolvedores do Google Play Services garantem que seu projeto do Unity tenha as dependências apropriadas para exportar seu aplicativo para iOS ou Android. Para mais informações sobre o resolvedor, acesse o README do Resolvedor Jar do Unity.

Etapa 5: 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 no teste.

  1. Na janela Hierarquia, crie um novo objeto:

    1. Clique com o botão direito do mouse e selecione Criar vazia para adicionar um novo GameObject vazio a uma cena no seu jogo.

    2. Nomeie o novo objeto como CrashlyticsTester.

    3. Verifique se o objeto CrashlyticsTester está selecionado antes de continuar.

  2. Na guia Inspetor, adicione um novo script que causará uma falha no teste alguns segundos depois de você executar o app:

    1. Clique em Adicionar componente.

    2. Selecione Novo Script na parte inferior da lista de componentes.

    3. Também nomeie o novo script como CrashlyticsTester e adicione o seguinte conteúdo ao script:

      using System;
      using UnityEngine;
      
      public class CrashlyticsTester : MonoBehaviour {
      
          int updatesBeforeException;
      
          // Use this for initialization
          void Start () {
            updatesBeforeException = 0;
          }
      
          // Update is called once per frame
          void Update()
          {
              // Call the exception-throwing method here so that it's run
              // every frame update
              throwExceptionEvery60Updates();
          }
      
          // A method that tests your Crashlytics implementation by throwing an
          // exception every 60 frame updates. You should see non-fatal errors in the
          // Firebase console a few minutes after running your app with this method.
          void throwExceptionEvery60Updates()
          {
              if (updatesBeforeException > 0)
              {
                  updatesBeforeException--;
              }
              else
              {
                  // Set the counter to 60 updates
                  updatesBeforeException = 60;
      
                  // Throw an exception to test your Crashlytics implementation
                  throw new System.Exception("test exception please ignore");
              }
          }
      }
      
  3. Crie e execute seu app:

    1. Acesse Arquivo > Configuração da versão e escolha Android ou iOS na lista de plataformas.

    2. Clique em Criar e executar seu app para iOS ou Android.

  4. Quando seu app estiver em execução, observe o registro do dispositivo e aguarde a exceção ser acionada pelo CrashlyticsTester.

    • iOS: veja os registros no painel inferior do Xcode.

    • Android: veja os registros executando o comando adb logcat no terminal.

  5. Quando você vir a exceção no registro do dispositivo, reinicie o app para que ele possa enviar o relatório de erros ao Firebase.

  6. 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. Você também pode ver e investigar relatórios de erros e estatísticas no painel do Crashlytics.

Próximas etapas