Ir para o console

Entender os projetos do Firebase

Nesta página, mostramos visões gerais resumidas de vários conceitos importantes sobre projetos do Firebase. Quando disponível, siga os links para encontrar informações mais detalhadas sobre recursos, serviços e até outras plataformas. No fim desta página, você pode ver uma lista de práticas recomendadas gerais para projetos do Firebase.

Relação entre projetos, apps e produtos do Firebase

Um projeto do Firebase é a entidade de nível superior do Firebase. Depois de vincular seu app ao projeto e configurá-lo para usar o serviço, você pode adicionar os SDKs a qualquer número de produtos do Firebase, como Analytics, Cloud Firestore, Monitoramento de desempenho ou Configuração remota.

Relação entre projetos do Firebase e o Google Cloud Platform (GCP)

Quando você cria um novo projeto no Console do Firebase, na verdade está criando um projeto do Google Cloud Platform (GCP). Pense em um projeto do GCP como um contêiner virtual para dados, código, configuração e serviços. Um projeto do Firebase é um projeto do GCP que tem configurações e serviços adicionais específicos do Firebase. É possível até criar um projeto do GCP primeiro e depois adicionar o Firebase a ele.

Como um projeto do Firebase é um projeto do GCP:

Como configurar um projeto do Firebase e conectar apps

É possível configurar um projeto do Firebase e conectar apps no Console do Firebase ou, para casos de uso avançados, por meio da API REST Firebase Management. Durante a configuração do projeto e os processos de conexão do aplicativo, você toma várias decisões de configuração e adiciona arquivos ou objetos de configuração especiais ao seu projeto local.

Revise algumas práticas recomendadas gerais antes de configurar seu projeto e conectar apps.

Nome do projeto

Ao criar um projeto, você fornece um nome de projeto. Esse identificador é o nome interno do seu projeto no Console do Firebase, no Console do GCP e na Firebase CLI. O nome do projeto não é disponibilizado publicamente em nenhum produto, serviço ou recurso do Firebase ou do GCP. Ele serve simplesmente para ajudar você a distinguir os vários projetos.

É possível editar o nome do projeto a qualquer momento nas configurações (settings). Ele é exibido no painel superior.

Código do projeto

Seu projeto do Firebase e o projeto do GCP associado têm um código, que é o identificador exclusivo global dele no Firebase e no GCP. Ao criar um projeto, o Firebase atribui automaticamente um código exclusivo que pode ser editado durante a configuração.

Se você excluir um projeto, o código dele também será excluído e nunca poderá ser usado novamente.

Recursos do Firebase e o código do projeto

O código do projeto é exibido em recursos do Firebase visíveis publicamente, por exemplo:

  • Subdomínio padrão do Hosting: your-project-id.firebaseapp.com
  • URL padrão do Realtime Database: your-project-id.firebaseio.com
  • Nome padrão do intervalo do Cloud Storage: your-project-id.appspot.com

Para todos os recursos mencionados, é possível criar instâncias não padrão. Os nomes publicamente visíveis são totalmente personalizáveis, ao contrário dos nomes padrão. É possível conectar domínios personalizados ao seu site hospedado pelo Firebase, fragmentar o Realtime Database e criar vários intervalos do Cloud Storage. Para saber mais, acesse a página "Primeiros passos" da sua plataforma.

Firebase CLI e código do projeto

Em alguns casos de uso, você pode ter vários projetos do Firebase associados ao mesmo diretório de apps local. Nessas situações, ao usar a Firebase CLI, você precisa transmitir a sinalização --project com seus comandos do firebase para comunicar com qual projeto do Firebase você quer interagir.

Também é possível configurar aliases para vários projetos do Firebase, de modo que você não precise se lembrar dos códigos.

Chamadas de API e código do projeto

Para muitas chamadas de API, é preciso incluir o código para identificar o projeto do Firebase.

Encontrar seu código de projeto

  • No Console do Firebase, clique em settings e selecione Configurações do projeto. O código é exibido no painel superior.

  • Usando a Firebase CLI, execute firebase list. O código do projeto é exibido junto com todos os projetos do Firebase associados à sua conta.

Arquivos e objetos de configuração do Firebase

Ao conectar um app ao seu projeto do Firebase, o Console do Firebase fornece um arquivo de configuração (Android/iOS) ou um objeto de configuração (Web) que você adiciona diretamente ao seu projeto local.

  • Para iOS, adicione um arquivo de configuração GoogleService-Info.plist.
  • Para Android, adicione um arquivo de configuração google-services.json.
  • Para Web, adicione um objeto de configuração do Firebase aos seus scripts de inicialização.

Você pode solicitar os arquivos de configuração ou o objeto de configuração do Firebase a qualquer momento.

Um arquivo de configuração ou objeto de configuração do Firebase associa seu app ao projeto do Firebase e aos recursos dele (bancos de dados, intervalos de armazenamento etc.).

O conteúdo é considerado público, inclusive o código específico da plataforma inserido no fluxo de trabalho de configuração do Console do Firebase e os valores específicos do seu projeto, como a chave de API, o URL do Realtime Database e o nome do intervalo do Storage. Sendo assim, utilize regras de segurança para proteger seus dados e arquivos no Realtime Database, no Cloud Firestore e no Cloud Storage.

Em projetos de código aberto, normalmente não recomendamos a inclusão do arquivo de configuração ou do objeto de configuração no controle de origem, já que, na maioria dos casos, os usuários precisam criar os próprios projetos do Firebase e apontar os apps para os próprios back-ends.

Como gerenciar um projeto do Firebase

Revise as práticas recomendadas gerais no nível do projeto para ver considerações que podem afetar o gerenciamento do seu projeto do Firebase.

Ferramentas para gerenciar seu projeto

Console do Firebase

O Console do Firebase oferece o ambiente mais sofisticado para gerenciar produtos, apps e configurações no nível do projeto do Firebase.

Console do Firebase: tela de visão geral do projeto

O painel à esquerda do console lista os produtos do Firebase, organizados por categorias de nível superior. Na parte superior desse painel, acesse as configurações do projeto clicando em settings. As configurações incluem integrações, permissões de acesso e faturamento.

O meio do Console mostra botões que iniciam fluxos de trabalho de configuração para conectar vários tipos de apps. Quando você começa a usar o Firebase, a área principal do Console muda para um painel que mostra estatísticas dos produtos usados.

Firebase CLI (ferramenta de linha de comando)

O Firebase também oferece a Firebase CLI para configurar e gerenciar produtos específicos do Firebase, como o Firebase Hosting e o Cloud Functions para Firebase.

Depois de instalar a CLI usando npm, você terá acesso ao comando global firebase. Use a CLI para implantar novas versões do conteúdo hospedado pelo Firebase ou atualizações nas suas funções. Também é possível vincular seu diretório de apps local ao projeto do Firebase por meio dessa ferramenta.

API REST Firebase Management

Usando a API REST Firebase Management, você pode gerenciar programaticamente seu projeto do Firebase. Por exemplo, é possível registrar de forma programática um app Android ou iOS no projeto. Você também pode listar os apps (Android/iOS) registrados.

Práticas recomendadas gerais

Como adicionar apps a um projeto

Garanta que todos os apps em um projeto sejam apenas variantes de plataforma do mesmo aplicativo do ponto de vista do usuário final. É aconselhável conectar as versões para Android, iOS e Web do mesmo aplicativo ou jogo ao mesmo projeto do Firebase. Geralmente, todos os apps em um projeto compartilham os mesmos recursos do Firebase (banco de dados, intervalos de armazenamento etc.).

Se você tiver muitas variantes de versão com vários códigos de pacote do iOS ou ID do app Android definidos, é possível registrar cada variante com um projeto diferente do Firebase. No entanto, se você tiver variantes que compartilham os mesmos recursos, registre-as no mesmo projeto do Firebase.

Não há restrição de número de apps que um projeto pode ter. No entanto, adicionar um aplicativo pode criar um ou mais IDs do cliente do OAuth 2.0 subjacentes, e há um limite de cerca de 30 IDs que podem ser criados em um projeto.

Multilocação

Não é recomendável conectar vários apps e/ou sites da Web logicamente independentes a um único projeto. Esse processo é geralmente chamado de "multilocação". A multilocação pode levar a sérios problemas de configuração e privacidade de dados, incluindo problemas não intencionais com agregação de análise, autenticação compartilhada, estruturas de banco de dados excessivamente complexas e dificuldades com regras de segurança.

Geralmente, se um conjunto de apps não compartilhar os mesmos dados e configurações, conecte cada aplicativo a um projeto diferente do Firebase.

Por exemplo, se você desenvolver um aplicativo de marca branca, cada app com uma marca independente precisa ter um projeto do Firebase próprio. Assim, os aplicativos não compartilharão dados entre si, o que é recomendado por motivos de privacidade.

Observe alguns limites gerais para projetos, apps e sites do Firebase:

  • Número de projetos por conta

    • Plano Spark de nível gratuito: a cota de projeto é limitada a um pequeno número de projetos (geralmente em torno de 5 a 10).
    • Planos pagos: a cota de projeto por conta de faturamento aumenta substancialmente, desde que sua conta de faturamento do Cloud esteja em situação regular.

    O limite da cota de projeto raramente é uma preocupação para os desenvolvedores. No entanto, é possível solicitar um aumento dela.

    Observe que a exclusão completa de um projeto requer 30 dias, e ele continuará a afetar sua cota até ser totalmente excluído.

  • Número de apps por projeto

    Não há restrição de número de apps que um projeto pode ter. No entanto, adicionar um aplicativo pode criar um ou mais IDs do cliente do OAuth 2.0 subjacentes, e há um limite de cerca de 30 IDs que podem ser criados em um projeto.

  • Número de sites de hospedagem por projeto

    O recurso multisite do Firebase Hosting aceita no máximo 20 sites por projeto.

Como lançar seu app