Ir para o console

Primeiros passos com o Cloud Storage para Unity

Com o Cloud Storage para Firebase, é possível enviar e compartilhar conteúdo gerado pelo usuário, como imagens e vídeos, permitindo criar conteúdo de rich media nos apps. Os seus dados são armazenados em um intervalo do Google Cloud Storage, uma solução de armazenamento de objetos de escala exabyte com alta disponibilidade e redundância global. Com o Cloud Storage, o upload dos arquivos é feito diretamente de dispositivos móveis e navegadores da Web, mesmo em redes intermitentes, de forma segura e fácil.

Antes de começar

Antes de usar o Cloud Storage, realize estas ações:

  • Registre seu projeto do Unity e configure-o para usar o Firebase.

    • Se o projeto já usa o Firebase, então ele já está registrado e configurado para essa plataforma.

    • Se você não tiver um projeto do Unity, faça o download de um app de amostra (em inglês).

  • Adicione o SDK do Firebase para Unity (especificamente, FirebaseStorage.unitypackage) ao seu projeto do Unity.

Adicionar o Firebase ao seu projeto do Unity envolve tarefas no Console do Firebase e no projeto do Unity aberto. Por exemplo, fazer o download dos arquivos de configuração do Firebase no console e movê-los para o projeto do Unity.

Criar um intervalo padrão do Storage

  1. No painel de navegação do Console do Firebase, selecione Storage e clique em Primeiros passos.

  2. Leia as mensagens sobre como proteger seus dados do Storage por meio de regras de segurança. Durante o desenvolvimento, avalie a possibilidade de configurar suas regras para acesso público.

  3. Selecione um local para o intervalo padrão do Storage.

    • Essa configuração de localização é o local padrão dos recursos do Google Cloud Platform (GCP) no seu projeto. Esse local será usado em serviços do GCP no projeto que exigem uma configuração de localização, especificamente, no banco de dados do Cloud Firestore e no aplicativo do App Engine, que é necessário se você usa o Cloud Scheduler.

    • Se você não conseguir selecionar um local, isso significa que seu projeto já tem um local padrão dos recursos do GCP. Ele foi definido durante a criação do projeto ou ao configurar outro serviço que requer uma configuração de localização.

    Se você estiver no plano Blaze, poderá criar vários intervalos, cada um com o próprio local.

  4. Clique em Concluído.

Configurar acesso público

Com o Cloud Storage para Firebase, você tem uma linguagem de regras declarativas para definir como os dados são estruturados, indexados e quando podem ser lidos e gravados. Por padrão, o acesso à leitura e gravação no Storage é restrito aos usuários autenticados. Para iniciar sem configurar o Authentication, defina as regras para acesso público.

Fazer isso tornará o Storage disponível para todos, até para os que não utilizam o app. Por isso, restrinja o Storage novamente quando configurar a autenticação.

Acessar a classe FirebaseStorage

O Firebase.Storage.FirebaseStorage é o ponto de entrada do SDK do Cloud Storage para Unity.

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

Agora tudo está pronto para você começar a usar o Cloud Storage.

Primeiro, vamos aprender a criar uma referência do Cloud Storage.

Configuração avançada

Há alguns casos de uso que requerem configuração adicional:

O primeiro caso de uso é perfeito para quem tem usuários em todo o mundo e quer armazenar os dados perto deles. Por exemplo, para armazenar os dados dos usuários dos EUA, da Europa e da Ásia, crie intervalos nessas regiões para reduzir a latência.

O segundo caso de uso é útil quando você tem dados com diferentes padrões de acesso. Por exemplo, configure um intervalo multirregional ou local que armazene imagens ou outros conteúdos acessados frequentemente e um intervalo nearline ou coldline que armazene backups de usuários ou outros conteúdos pouco acessados.

Em qualquer um desses casos de uso, você precisará usar vários intervalos de armazenamento.

O terceiro caso de uso é útil ao criar um app, como o Google Drive, em que os usuários têm diversas contas conectadas. Por exemplo, uma conta pessoal e uma conta corporativa. Para autenticar cada conta adicional, use uma instância personalizada do app do Firebase.

Usar vários intervalos de armazenamento

Para usar um intervalo de armazenamento diferente do padrão fornecido acima, ou usar vários intervalos de armazenamento em um único app, crie uma instância de FirebaseStorage que faça referência ao seu intervalo personalizado:

// Get a non-default Storage bucket
var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");

Trabalhar com intervalos importados

Ao importar um intervalo do Cloud Storage para o Firebase, é preciso conceder ao Firebase acesso a esses arquivos por meio da ferramenta gsutil inclusa no SDK do Google Cloud:

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

Isso não afeta os intervalos recém-criados, pois eles têm o controle de acesso padrão, que autoriza o Firebase. Essa é uma medida temporária e será realizada automaticamente no futuro.

Usar um app personalizado do Firebase

Para desenvolver um app mais complexo usando um FirebaseApp personalizado, crie uma instância de FirebaseStorage inicializada com esse app:

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");