Adicionar o Firebase ao seu projeto do Unityplat_iosplat_androidplat_unity

Melhore seus jogos do Unity com nossos SDKs para Unity do Firebase.

Para mostrar como é fácil conectar o Firebase ao seu projeto do Unity, preparamos um jogo de amostra “MechaHamster” que está disponível para download no GitHub, na App Store e na Google Play Store.

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play Store)


Veja mais informações sobre como ativar seus jogos com o Firebase na nossa página do Firebase para jogos.

Etapa 1: configurar seu ambiente

  • Instale o Unity 5.3 ou posterior.

  • (somente iOS) Garanta que você tem acesso ao seguinte:

    • Xcode 9.4.1 ou posterior
    • CocoaPods 1.4.0 ou posterior
  • Garanta que seu projeto Unity segmente o nível de sistema operacional adequado:

    • Para iOS: segmente o iOS 8 ou posterior
    • Para Android: segmente o nível da API 16 (Jelly Bean) ou posterior
  • Acesse um dispositivo ou emulador para executar seu projeto do Unity.

    • Para iOS: para o Firebase Cloud Messaging, você precisará de:

      • Um dispositivo físico com iOS
      • Certificado de APNs com notificações push ativadas
    • Para Android: os emuladores precisam usar uma imagem de emulador no Google Play.

  • Faça login no Firebase usando sua conta do Google.

Se você ainda não tiver um projeto do Unity e quiser testar um serviço do Firebase, faça o download de um dos nossos exemplos para início rápido.

Etapa 2: criar um projeto do Firebase

Antes de adicionar o Firebase ao seu projeto Unity, crie um projeto do Firebase para se conectar ao seu projeto Unity.

Para criar um projeto do Firebase:

  1. Acesse o Console do Firebase.

  2. Clique em Adicionar projeto e selecione ou insira o Nome do projeto.

    • Se você tiver um projeto do Google associado ao seu aplicativo, selecione o projeto no menu suspenso Nome do projeto.
    • Se você não tiver um projeto do Google, insira o novo Nome do projeto.
  3. (Opcional) Edite o código do projeto.

    O Firebase atribui automaticamente um código exclusivo ao seu projeto. Ele é exibido em serviços do Firebase visíveis publicamente, por exemplo:

    • URL padrão do Realtime Database: your-project-id.firebaseio.com
    • Nome padrão do intervalo do Cloud Storage: your-project-id.appspot.com
    • Subdomínio padrão do Hosting: your-project-id.firebaseapp.com
  4. Siga as demais etapas de configuração no Console do Firebase e clique em Criar projeto, ou Adicionar Firebase, se estiver usando um projeto atual do Google.

O Firebase provisiona recursos automaticamente para seu projeto. O processo normalmente leva alguns minutos. Quando ele for concluído, você será direcionado para a página de visão geral do seu projeto no Console do Firebase.

Etapa 3: registrar seu projeto Unity com o Firebase

É possível registrar um ou mais aplicativos ou jogos para se conectar ao seu projeto do Firebase.

  1. Na página de visão geral do projeto do Firebase, inicie o assistente de configuração do Unity.

  2. Selecione qual destino de versão do seu projeto Unity você quer registrar, ou você pode optar por registrar os dois destinos agora.

  3. Digite os códigos específicos da plataforma do seu projeto do Unity.

    1. Abra seu projeto do Unity no seu ambiente de desenvolvimento integrado do Unity.

    2. Navegue até Build Settings > iOS ou Android > Player Settings > Other Settings.

      O código do projeto do Unity é o valor de Bundle Identifier. Código de exemplo: com.yourcompany.unity-project-name

    3. Digite cada código específico da plataforma no campo apropriado:

      • Para iOS: digite o código do iOS do seu projeto do Unity no campo iOS bundle ID.

      • Para Android: digite o código do Android do seu projeto do Unity no campo Android package name.

        • Os termos nome do pacote e código do aplicativo geralmente são usados de maneira intercambiável.
  4. (Opcional) Digite os apelidos específicos da plataforma do seu projeto do Unity.

    Esses apelidos são identificadores de conveniência internos e só são visíveis para você no Console do Firebase.

  5. Clique em Register app.

Etapa 4: adicionar arquivos de configuração do Firebase ao seu projeto do Unity

  1. Receba seus arquivos de configuração do Firebase específicos da plataforma no assistente de configuração do Console do Firebase.

  2. Abra a janela Projeto do seu projeto do Unity e mova seus arquivos de configuração para a pasta Assets.

  3. De volta ao Console do Firebase, na caixa de diálogo do assistente de configuração, clique em Avançar.

Etapa 5: adicionar um SDK do Firebase ao seu projeto do Unity

As etapas nesta seção servem como um exemplo de como adicionar qualquer serviço do Firebase compatível ao seu projeto do Unity. Neste exemplo, veremos como adicionar o Google Analytics para Firebase.

  1. No Console do Firebase, clique em Fazer o download do SDK para Unity do Firebase e descompacte o SDK em algum lugar conveniente.

    • É possível fazer o download do SDK para Unity do Firebase novamente a qualquer momento.

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

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

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

    Também é possível importar qualquer outro serviço do Firebase compatível.

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

  5. De volta ao Console do Firebase, na caixa de diálogo do assistente de configuração, clique em Avançar.

Etapa 6: confirmar os requisitos da versão do Google Play Services

O SDK para Unity do Firebase no Android requer a plataforma Google Play Services, que precisa estar atualizada antes que o SDK possa ser usado.

Adicione o seguinte código no início do seu aplicativo. É possível verificar e, como opção, atualizar o Google Play Services para a versão exigida pelo SDK para Unity do Firebase antes de chamar outros métodos no SDK.

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.
    //   app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

Tudo pronto! Seu projeto do Unity está registrado e configurado para usar os serviços do Firebase.

Problemas conhecidos

Compatibilidade com .NET ao usar o Unity 2017.x e posterior

O Firebase é compatível com .NET 4.x como uma opção de versão experimental no Unity 2017 e posterior. Os plug-ins do Firebase usam componentes do SDK Parse para fornecer algumas classes do .NET 4.x em versões anteriores do .NET.

Portanto, o SDK para Unity do Firebase versão 5.4.0 e posteriores fornece plug-ins compatíveis com .NET 3.x ou .NET 4.x nos diretórios dotnet3 e dotnet4 do SDK para Unity do Firebase.

Se importar um plug-in do Firebase que seja incompatível com a versão .NET ativada no seu projeto, você verá erros de compilação de alguns tipos na biblioteca .NET que são implementados pelo SDK Parse.

Para resolver o erro de compilação, se você estiver usando .NET 3.x:

  1. Remova ou desative as DLLs a seguir para todas as plataformas:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll
  2. Ative as DLLs a seguir para todas as plataformas:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll

Para resolver o erro de compilação, se você estiver usando .NET 4.x:

  1. Remova ou desative as DLLs a seguir para todas as plataformas:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. Ative as DLLs a seguir para todas as plataformas:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

Se você importar outro plug-in do Firebase:

  • No seu projeto do Unity, navegue para Assets > Play Services Resolver > Version Handler > Update para ativar as DLLs certas para seu projeto.

Compilação IL2CPP do Unity 2017.1 em projetos do .NET 4.x

O Firebase é compatível com .NET 4.x como uma opção de versão experimental no Unity 2017 e posterior. Os plug-ins do Firebase usam componentes do SDK Parse para fornecer algumas classes do .NET 4.x em versões anteriores do .NET.

Portanto, o Firebase Unity SDK versão 5.4.0 e posteriores fornece DLLs de encaminhamento de tipo que encaminham tipos do Parse (por exemplo, a implementação do Parse em System.Threading.Tasks.Task) para a biblioteca .NET. Infelizmente, o IL2CPP (transpilador que converte C# para C++) fornecido no Unity 2017.1.x não processa corretamente as DLLs de encaminhamento de tipo, resultando em erros de compilação com a seguinte aparência:

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to
resolve System.Threading.Tasks.TaskCompletionSource`1<T>

No momento, não há nenhuma solução disponível para erros de compilação do .NET 4.x IL2CPP no Unity 2017.1. Portanto, atualize para o Unity 2017.2 ou posterior para usar o .NET 4.x em projetos compilados com IL2CPP.

Rede do Unity 2017.2

O Realtime Database cria conexões de rede TLS usando a pilha de rede do .NET. A funcionalidade de TLS apresenta falha no Unity 2017.2 ao usar o .NET 4.6, fazendo com que o plug-in do Realtime Database não funcione no editor e no computador.

Não há solução alternativa para esse problema. Você precisa usar uma versão diferente do Unity, por exemplo, 2017.1 ou 2017.3.

Configurar um fluxo de trabalho para computadores (Beta)

Ao criar um jogo, geralmente é mais fácil fazer os testes no editor do Unity e nas plataformas de desktop primeiro e depois implantar e testar em dispositivos móveis durante o desenvolvimento. Para oferecer suporte a esse fluxo de trabalho, fornecemos um subconjunto de SDKs para Unity do Firebase que pode ser executado no Windows, OS X, Linux e no editor do Unity:

  1. Configure um projeto do Unity na plataforma de computador seguindo as mesmas instruções de uma plataforma de dispositivo móvel. Comece com a etapa de Registrar seu projeto do Unity com o Firebase acima.

  2. Execute seu projeto do Unity no Unity IDE ou selecione para construir seu projeto Unity para desktop.

  3. (Opcional) Execute seu projeto do Unity no modo de edição.

    O SDK para Unity do Firebase também pode ser executado no modo de edição do Unity. Isso permite que ele seja usado em plug-ins de editor.

    1. Ao criar um FirebaseApp usado pelo editor, não use a instância padrão.

    2. Em vez disso, forneça um nome exclusivo para a chamada FirebaseApp.Create().

      Isso é importante para evitar um conflito nas opções entre a instância usada pelo ambiente de desenvolvimento integrado do Unity e a instância usada pelo seu projeto.

Serviços do Firebase compatíveis

Os seguintes serviços do Firebase são compatíveis com o SDK para Unity do Firebase no iOS e Android:

Serviço do Firebase Pacote do Unity
AdMob Distribuído separadamente no plug-in do Unity da AdMob
Analytics FirebaseAnalytics.unitypackage
Authentication FirebaseAuth.unitypackage
Crashlytics (Beta) FirebaseAnalytics.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Dynamic Links FirebaseDynamicLinks.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Invites FirebaseInvites.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
Configuração remota FirebaseRemoteConfig.unitypackage
Cloud Storage FirebaseStorage.unitypackage

Serviços do Firebase compatíveis (computadores)

O SDK para Unity do Firebase inclui suporte a fluxo de trabalho em computadores para um subconjunto de recursos. Isso permite que determinadas partes do Firebase sejam usadas no editor do Unity e em versões de desktop independentes no Windows, OS X e Linux.

Recurso para desktop Biblioteca
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Configuração remota FirebaseRemoteConfig.unitypackage
Cloud Storage FirebaseStorage.unitypackage

O Firebase fornece as bibliotecas para computador restantes como implementações stub (não funcionais) para sua comodidade durante a criação de projetos para Windows, OS X e Linux. Elas eliminam a necessidade de compilar códigos de modo condicional na segmentação para computadores.

Suporte

Suporte do Firebase

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.