Postado por Patrick Martin, mediador de desenvolvedores
Historicamente, para integrar o Firebase a um jogo Unity, o desenvolvedor teria que passar pelo processo de download de um arquivo zip consideravelmente grande, contendo vários arquivos unitypackage, para cada produto do Firebase. Depois, teria que importar os pacotes lentamente, um por um.
Uma vez que o SDK precisa ser colocado em várias pastas “especiais” desconectadas, pode ser difícil memorizar quais plug-ins do Firebase foram instalados. Isso é especialmente complicado durante o upgrade do Firebase, já que é preciso lembrar de fazer upgrade de cada recurso que foi utilizado manualmente.
Normalmente, o desenvolvedor deveria instalar os pacotes do Unity na pasta “dotnet4”, mas essa não é uma regra universal. Principalmente no caso de um desenvolvedor menos experiente, pode ser um tanto confuso o fato de que “.NET Standard 2.0” significa a pasta “dotnet4”, embora o “2.0” esteja mais próximo do “3” de “dotnet3”:
Essas questões são o resultado do cuidadoso planejamento em relação ao nível desejado de simplicidade do Firebase, a arquitetura do Unity. Isso também nos permite continuar dando suporte aos desenvolvedores que não podem fazer upgrade de suas versões do Unity por motivos técnicos. Esses arquivos unitypackage não serão descartados, e continuamos dando suporte aos desenvolvedores Unity até o branch Unity 5.
Devido a essa complexidade, a equipe está sempre buscando maneiras de simplificar o processo de integração do Firebase para o Unity. Em 2018, o Unity começou a implementar o “Unity Package Manager”, uma solução baseada em NPM para o gerenciamento de dependências pré-incorporadas. Desde o Unity 2020.1, esse novo gerenciador de pacotes ficou muito mais fácil de usar. O Firebase adotou totalmente esse novo sistema, e eu certamente o recomendo como a forma mais simples de adicionar e manter o plug-in do Firebase nos jogos atuais e futuros baseados em Unity.
Não há nenhuma mudança no back-end do Firebase para esse novo processo. Portanto, se você está iniciando um projeto novo, comece normalmente, no Console do Firebase.
Mas, quando chegar o momento de fazer o download do SDK do Firebase, ignore.
Em vez disso, passe para o Unity.
Uma vez lá, acesse Build Settings. Em seguida, clique em Player Settings. Por fim, na janela Player Settings, selecione Package Manager.
Na janela Package Manager, crie um novo “repositório com escopo”. Em seguida, insira:
Name: Game Package Registry by Google
Game Package Registry by Google
URL: https://unityregistry-pa.googleapis.com
https://unityregistry-pa.googleapis.com
Scope(s): com.google
com.google
Agora, você pode gerenciar dependências do Firebase diretamente no Unity Package Manager, em “My Registries”.
Adicionamos um registro com escopo ao Unity chamado “Game Package Registry by Google”, em um processo muito similar ao que seria esperado por um desenvolvedor do Node. Isso significa que se trata de um repositório não afiliado ao Unity, mas que pode desfrutar de um caminho de integração similar ao dos recursos do mecanismo central, como o novo sistema de entrada do Unity ou o Entity Component System. O nome do registro com escopo nada mais é do que uma dica para você mesmo, e você pode mudar esse nome se quiser, mas os dados adicionados em URL e Scope(s) são fixos. O URL diz ao Unity onde encontrar os pacotes do Google e os Scope(s) que informam ao Unity os nomes de pacotes que esse registro pode manusear. Neste caso, qualquer pacote que comece com “com.google”.
Antes desse novo processo, você agora teria em seu disco um grande arquivo zip com SDKs para Unity redundantes, dependendo de sua versão do Unity possuir ou não a classe Task. Você descompactava isso em algum lugar do sistema de arquivos e começava a importar cada um desses arquivos unitypackage. Os arquivos propriamente ditos eram maiores do que o necessário, porque cada um tinha uma cópia de cada dependência dentro dele, contando com o Unity para não importar os arquivos que não fossem necessários. Isso evitava que o desenvolvedor se esquecesse de adicionar o “Firebase Authentication” durante a integração do “Cloud Firestore”.
Task
Agora, você indica que o jogo depende do “Cloud Firestore”, e é feito o download somente de uma cópia do “Firebase Authentication” para o suporte.
Outro problema que os desenvolvedores enfrentam é que o SDK do Firebase pode incluir vários objetos binários grandes que acabam ficando no controle de origem. Em alguns casos, como nos arquivos de objetos compartilhados do Linux, essas dependências individuais são tão grandes que não podem ter o commit feito em serviços populares como o GitHub sem a ativação do Git LFS.
Agora, desde que você não faça o commit do diretório Library/ para o controle de origem, o download desses arquivos só é feito quando necessário na máquina de cada desenvolvedor e não ocupa espaço no sistema de controle de versões. Assim como outras soluções de empacotamento baseadas em NPM, o Unity é inteligente na hora de armazenar essas dependências em cache, e mantém apenas uma cópia no cache local, para que os desenvolvedores não fiquem constantemente fazendo o download de pacotes na hora de fazer o check-out dos projetos.
Antes, o upgrade do SDK do Firebase era um processo um tanto complicado. Para saber em qual versão do Firebase você estava, normalmente era preciso procurar no diretório do Firebase por qualquer arquivo que parecesse conter um número de versão reconhecível do Firebase. Também era preciso verificar ali quais SDKs haviam sido integrados ao projeto no upgrade, para saber quais arquivos unitypackage deviam ser importados.
Agora, você tem uma linda lista de todos os produtos do Firebase instalados, em “In Project”:
E até mesmo as versões individuais de cada dependência, em “My Registries”:
Está tendo problemas após o upgrade? Você pode verificar rapidamente esta tela para ver o que está errado, em vez de simplesmente reinstalar todos os unitypackages.
Antes do Unity Package Manager, o downgrade era ainda mais difícil. Ele normalmente exigia a manutenção de cópias de cada SDK do Firebase utilizado ou a descoberta dos URLs das versões antigas dos SDKs. Agora, se algo der errado, você pode simplesmente voltar ao gerenciador de pacotes e fazer a reversão para uma versão antiga:
O Unity Package Manager dá suporte aos “registros com escopo” desde o Unity 2018. Antes do Unity 2020, só era possível adicionar o registro modificando o arquivo em Packages/manifest.json, como indicado aqui. O External Package Manager para o Unity -- uma ferramenta incluída no SDK do Firebase para Unity -- também oferece a migração automática do estilo antigo do unitypackage para o novo mecanismo UPM, quando disponível. Se você quiser migrar uma instalação existente do Firebase para o novo sistema UPM, basta navegar até “Assets > External Dependency Manager > Package Manager Resolver > Modify Registries”. Observe que não são feitas variantes dotnet3 dos pacotes do Firebase por meio do Unity Package Manager, mas isso só é uma preocupação para os usuários do Unity 2018 (a versão 2019 e as versões posteriores não têm mais suporte ao antigo padrão .NET).
Packages/manifest.json
Agora que o Firebase é apenas uma entrada em um manifesto de pacote, ficou muito mais fácil adicionar o Firebase, se isso parecer interessante, e também removê-lo, se um recurso não funcionar. Você pode se movimentar livremente e com confiança entre as versões, tudo isso enquanto mantém o diretório Assets/ o mais limpo possível. Esse repositório também permitirá o uso de outros produtos do Google, como o Play Asset Delivery e o Google Play Instant, oferecendo uma maneira simples de testar recursos que elevarão a qualidade de vida dos jogadores Android.
The opportunity of a lifetime passed before https://onlinejapancasinos.com/ him as he tried to decide between a cone or a cup.
Postar um comentário
Um comentário :
The opportunity of a lifetime passed before https://onlinejapancasinos.com/ him as he tried to decide between a cone or a cup.
Postar um comentário