Ir para o console

Migrar um app do Unity do Fabric Crashlytics para o Firebase Crashlytics

Unity [Beta]

Neste guia rápido, descrevemos como migrar seu app atual do Unity do Fabric Crashlytics para o Firebase Crashlytics para que você possa ver todos os relatórios de falhas no Console do Firebase.

Antes de começar

Unity [Beta]

Para este guia, presumimos que você tenha um app do Unity em funcionamento com o Fabric. Se não houver um app do Unity existente no Fabric, siga as instruções em Primeiros passos para usuários novos no Crashlytics.

Unity [Beta]

  1. Faça login no Fabric (em inglês) e navegue até o migration flow.

  2. Verifique se o campo Signed into Google as lista a Conta do Google associada ao seu projeto do Firebase. Se não listar, clique em Switch accounts para selecionar a conta correta.

  3. Clique em Get Started e em Start Linking.

  4. Arraste o app do Fabric adequado à esquerda para o projeto adequado do Firebase à direita.

    Observe que também é possível criar um novo projeto do Firebase.

  5. Clique em Link 1 app to Firebase.

Etapa 2: remover o Fabric

Unity [Beta]

O Fabric adiciona GameObjects à sua cena para inicializar o Crashlytics no seu jogo, assim como diretórios adicionais para os próprios SDKs.

Para garantir que não haja conflitos entre os plug-ins do Fabric Crashlytics e do Firebase Crashlytics, remova as seguintes pastas e arquivos do Fabric do seu projeto do Unity:

  • Em Recursos, exclua os seguintes arquivos:

    Assets/
       Editor Default Resources/
           FabricSettings.asset     <- DELETE
       Fabric/                      <- DELETE
       Plugins/
           Android/
               answers/             <- DELETE
               beta/                <- DELETE
               crashlytics/         <- DELETE
               crashlytics-wrapper/ <- DELETE
               fabric/              <- DELETE
               fabric-init/         <- DELETE
           iOS/
               Fabric/              <- DELETE
    
  • Na Janela de hierarquia, remova os seguintes GameObjects

    SampleScene
        Main Camera
        Directional Light
        Canvas
        EventSystem
        FabricInit                  <- DELETE
        CrashlyticsInit             <- DELETE
    
  • Remova todas as entradas do Fabric em Assets > Plugins > Android > AndroidManifest.xml.

    Por exemplo, uma chave conhecida que precisa ser removida é: android:name="io.fabric.unity.android.FabricApplication"

    Pesquise e remova outras entradas do Fabric, se existirem.

Etapa 3: adicionar arquivos de configuração do Firebase

Unity [Beta]

  1. Navegue até o Console do Firebase.

  2. No canto superior esquerdo, ao lado de Visão geral do projeto, clique em settings e selecione Configurações do projeto.

  3. Para seus apps recém-vinculados, faça o download dos arquivos de configuração específicos do Firebase para cada app vinculado. Para um único projeto do Unity, é possível ter no máximo dois arquivos de configuração.

    • Para iOS: GoogleService-Info.plist
    • Para Android: google-services.json
  4. No seu projeto do Unity, abra a janela Projeto e mova seus arquivos de configuração para a pasta Assets.

Etapa 4: adicionar o SDK do Firebase Crashlytics

Unity [Beta]

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

    O SDK para Unity do Firebase 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 5: inicializar o Firebase Crashlytics

Unity [Beta]

  1. Crie um novo script C# e adicione-o a um GameObject na cena.

    1. Abra sua primeira cena 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;
    
                      // WARNING: Do not call Crashlytics APIs from asynchronous tasks;
                      // they are not currently supported.
    
                      // 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()
          // ...
      }

Com o SDK adicionado e inicializado, o Crashlytics automaticamente passa a detectar e coletar relatórios de erros.

Etapa 6: substituir chamadas da API Fabric

Unity [Beta]

Há algumas alterações na API que você precisa levar em consideração. Para mais informações, confira a página de alterações da API do Unity.

Etapa 7: adicionar sua chave da API Fabric

Unity [Beta]

Como seu app já está em um estado vinculado ao Fabric, é preciso fornecer a chave da API do Fabric do seu app para o Firebase. Isso garante uma transição sem problemas dos relatórios de falhas para o Firebase Crashlytics e permite que você veja todos os dados históricos no painel do Firebase Crashlytics.

  1. No seu projeto do Unity, abra o menu do Firebase Crashlytics selecionando Window > Firebase > Crashlytics.

  2. Digite sua chave da API do Fabric em Fabric API Key.

  3. Clique em Salvar.

Etapa 8: criar seu projeto

Unity [Beta]

Depois de exportar o projeto para o iOS ou para o Android, verifique se o projeto foi exportado corretamente.

Se parecer que faltam arquivos depois de comparar seu projeto com as configurações de exportação de amostra abaixo, abra o Editor do Unity e execute o Resolvedor do Google Play Services.

iOS

Android

Execute o resolvedor (opcional)

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.

iOS

O resolvedor do iOS é executado automaticamente e utiliza o Cocoapods para colocar as dependências do iOS no diretório Pods exportado.

  • Para fazer o download do Cocoapods para sua máquina:

    • Navegue para Recursos > Resolvedor do Play Services > Resolvedor do iOS > Instalar Cocoapods
  • Para ativar ou desativar a geração de podfiles (opcional):

    • Navegue para Recursos > Resolvedor do Play Services > Resolvedor do iOS > Configurações

Android

O resolvedor do Android é executado automaticamente e aproveita o gradle para colocar as dependências do Android em Assets/Plugins/Android.

  • Para executar manualmente o resolvedor:

    • Navegue para Recursos > Resolvedor do Play Services > Resolvedor do Android > Resolvedor
  • Para ativar ou desativar a resolução automática, que fica ativada por padrão:

    • Navegue para Recursos > Resolvedor do Play Services > Resolvedor do Android > Configurações

Próximas etapas