Entender os projetos do Firebase

Nesta página, mostramos visões gerais resumidas de vários conceitos importantes sobre projetos do Firebase. Quando disponíveis, siga os links para encontrar informações mais detalhadas sobre recursos, serviços, ferramentas e práticas recomendadas.

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

Um projeto do Firebase é a entidade de nível superior do Firebase. Em um projeto, é possível registrar seus apps Apple, Android ou da Web. Depois de registrar seus apps com o Firebase, adicione os SDKs do Firebase a qualquer número de produtos do Firebase, como Analytics, Cloud Firestore, Performance Monitoring ou Remote Config.

Saiba mais sobre esse processo no guia para iniciantes da sua plataforma:
iOS+ | Android | Web | Unity | C++ | Flutter.

Noções básicas sobre a hierarquia dos projetos do Firebase

Diagrama com a hierarquia básica de um projeto do Firebase, incluindo
          o projeto, os apps registrados, os recursos e serviços
          provisionados Nesse diagrama, nós mostramos a hierarquia básica de um projeto do Firebase. Estas são as principais relações:

  • Um projeto do Firebase é como um contêiner para todos os apps, recursos e serviços provisionados para o projeto.

  • Um projeto do Firebase pode ter um ou mais apps registrados nele. Por exemplo, as versões para iOS e Android de um aplicativo, ou as versões sem custos financeiros e pagas.

  • Todos os apps do Firebase registrados em um projeto compartilham e têm acesso aos mesmos recursos e serviços provisionados para o projeto. Veja alguns exemplos:

    • Todos os apps do Firebase registrados no mesmo projeto do Firebase compartilham os mesmos back-ends, como Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage e Cloud Functions.

    • Todos os apps registrados em um projeto do Firebase são associados à mesma propriedade do Google Analytics. Nessa propriedade, cada app do Firebase é um fluxo de dados separado.

Relação entre projetos do Firebase e Google Cloud

Na realidade, ao criar um projeto do Firebase, você está criando um projeto do Google Cloud em segundo plano. É possível até criar um projeto do Google Cloud primeiro e depois adicionar o Firebase a ele. Pense em um projeto do Google Cloud como um contêiner virtual para dados, código, configuração e serviços.

Observe que, para todos os projetos do Firebase, um rótulo de firebase:enabled é adicionado automaticamente na página Rótulos para seu projeto no Console do Google Cloud. Mais informações sobre esse rótulo nas Perguntas frequentes.

Como um projeto do Firebase é um projeto do Google Cloud:

  • É possível interagir com um projeto no console do Firebase, no console do Google Cloud e no Console de APIs do Google.

  • É possível usar produtos e APIs do Firebase e do Google Cloud em um projeto.

  • As permissões e papéis do IAM de um projeto são compartilhadas entre o Firebase e o Google Cloud. Qualquer acesso que um membro do projeto tenha ao projeto do Google Cloud também se aplica ao projeto do Firebase (e vice-versa).

  • O faturamento de um projeto é compartilhado entre o Firebase e o Google Cloud. Se o faturamento estiver ativado no projeto do Google Cloud, seu projeto do Firebase estará no plano de preços Blaze de pagamento por uso do Firebase.

  • Os identificadores exclusivos, como número do projeto e ID do projeto, são compartilhados entre o Firebase e o Google Cloud.

  • A exclusão de um projeto o exclui no Firebase e no Google Cloud.

  • A exclusão ou modificação de um recurso ou dados em um projeto é aplicada no Firebase e no Google Cloud.

Como configurar um projeto do Firebase e registrar apps

É possível configurar um projeto do Firebase e registrar aplicativos no Console do Firebase (ou, para casos de uso avançados, usando a API REST do Firebase Management ou a CLI do Firebase). Ao configurar um projeto e registrar apps, você precisa tomar algumas decisões organizacionais e adicionar informações de configuração específicas do Firebase aos seus projetos locais.

Para apps de produção, é necessário configurar um fluxo de trabalho de desenvolvimento claro, que geralmente envolve o uso de vários ambientes. Consulte nossa documentação sobre fluxos de trabalho de desenvolvedor, incluindo práticas recomendadas gerais e diretrizes gerais de segurança para configurar projetos do Firebase, registrar apps destinados a criar um fluxo de trabalho de desenvolvimento.

Como interagir com um projeto do Firebase

Além dos SDKs do produto, é possível interagir diretamente com um projeto do Firebase usando várias ferramentas e interfaces diferentes.

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.

<span class=Console do Firebase: tela de visão geral do projeto" class="attempt-right screenshot" style="max-width: calc((100% - 40px)/1.75);">

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

O meio do console exibe botões que iniciam fluxos de trabalho de configuração para registrar 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.

Como um projeto do Firebase também é um projeto do Google Cloud, é possível encontrar várias tarefas ou produtos que exigem o uso do console do Google Cloud em vez do console do Firebase.

CLI Firebase (ferramenta de linha de comando)

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

Depois de instalar a CLI, você terá acesso ao comando firebase global. Use a CLI para vincular seu diretório de aplicativos local a um projeto do Firebase e implantar novas versões de conteúdo hospedado pelo Firebase ou atualizações nas funções.

API REST Firebase Management

Use a API REST Firebase Management para gerenciar programaticamente um projeto do Firebase. Por exemplo, é possível registrar de maneira programática um app com um projeto ou listar os apps já registrados (iOS+ | Android | Web).

Identificadores de projetos do Firebase

É possível identificar um projeto do Firebase no back-end e em várias interfaces do desenvolvedor usando identificadores diferentes, incluindo nome, número e ID do projeto.

O nome do projeto

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

É possível editar um nome de projeto a qualquer momento nas Configurações do projeto do Console do Firebase. O nome do projeto é exibido no painel superior.

O número do projeto

Um projeto do Firebase e o projeto do Google Cloud associado a ele têm um número de projeto. Esse é o identificador canônico exclusivo do projeto, atribuído pelo Google. Use esse número ao configurar integrações e/ou fazer chamadas de API para o Firebase, o Google ou os serviços de terceiros.

Não é possível editar um número de projeto. Se você excluir um projeto, o número dele também será excluído e nunca mais poderá ser usado em nenhum projeto.

O ID do projeto

Um projeto do Firebase e o projeto do Google Cloud associado a ele têm um ID do projeto. Esse é um identificador exclusivo definido pelo usuário para o projeto em todo o Firebase e o Google Cloud. Quando você cria um projeto do Firebase, a plataforma automaticamente atribui a ele um ID exclusivo, mas é possível editar essa informação durante a configuração. Esse identificador geralmente deve ser tratado como um alias de conveniência para fazer referência ao projeto.

Arquivos e objetos de configuração do Firebase

Quando você registra um app em um projeto do Firebase, o Console do Firebase fornece um arquivo de configuração (apps para Apple/Android) ou um objeto de configuração (apps da Web) para adicionar diretamente ao diretório do app local.

  • Em apps para Apple, adicione um arquivo de configuração GoogleService-Info.plist.
  • Em apps para Android, adicione um arquivo de configuração google-services.json.
  • Em apps da Web, adicione um objeto de configuração do Firebase.

A qualquer momento, é possível acessar um arquivo ou objeto de configuração do Firebase.

Um arquivo de configuração ou objeto do Firebase associa um app a um projeto específico do Firebase e aos respectivos recursos (bancos de dados, buckets de armazenamento etc.). A configuração inclui "opções do Firebase", que são parâmetros exigidos pelos serviços do Firebase e do Google para se comunicar com as APIs do servidor do Firebase e para associar os dados do cliente ao projeto e ao app do Firebase. Confira o mínimo obrigatório de "Opções do Firebase":

  • Chave de API: uma string criptografada e simples usada ao chamar determinadas APIs que não precisam acessar dados particulares do usuário (valor de exemplo: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO).

  • ID do projeto: um identificador exclusivo definido pelo usuário para o projeto em todo o Firebase e o Google Cloud. Esse identificador pode aparecer em URLs ou nomes para alguns recursos do Firebase, mas geralmente é tratado como um alias de conveniência para se referir ao projeto. (exemplo de valor: myapp-project-123)

  • ID do aplicativo ("AppID"): o identificador exclusivo do app do Firebase em toda a plataforma, com formato específico:

    • Apps do Firebase para Apple: GOOGLE_APP_ID (valor de exemplo: 1:1234567890:ios:321abc456def7890)
      Esse não é um ID do pacote da Apple.
    • Apps do Firebase para Android: mobilesdk_app_id (valor de exemplo: 1:1234567890:android:321abc456def7890)
      Esse não é um nome de pacote do Android ou ID do aplicativo para Android.
    • Aplicativos do Firebase para a Web: appId (valor de exemplo: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

O conteúdo do objeto ou do arquivo de configuração do Firebase é considerado público, inclusive o ID específico da plataforma do app (ID do pacote da Apple ou o nome do pacote do Android) e os valores específicos do projeto do Firebase, como a chave de API, o ID do projeto, o URL do Realtime Database e o nome do bucket do Cloud Storage. Sendo assim, use Firebase Security Rules para proteger seus dados e arquivos no Realtime Database, Cloud Firestore e Cloud Storage.

Para projetos de código aberto, geralmente não recomendamos incluir o arquivo de configuração ou o objeto do Firebase no controle de origem, porque, na maioria dos casos, os usuários precisam criar os próprios projetos do Firebase e direcionar os aplicativos para os próprios recursos do Firebase (usando o próprio arquivo de configuração ou objeto do Firebase).

Limites gerais para projetos, apps e sites do Firebase

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

  • Número de projetos por conta

    • Plano de preços Spark: a cota de criação de projetos é limitada a uma contagem menor de projetos (em torno de 5 a 10).
    • Plano de preços Blaze: a cota de criação de projetos por conta aumenta substancialmente, desde que a conta do Cloud Billing associada esteja em situação regular.

    O limite na cota de criação de projetos raramente é uma preocupação para a maioria dos desenvolvedores, mas, se necessário, peça um aumento na cota do projeto.

    Não se esqueça que a exclusão completa de um projeto requer 30 dias e é contabilizada na cota do projeto até que ele seja totalmente excluído.

  • Número de apps por projeto

    O Firebase restringe o número total de apps em um projeto do Firebase para 30.

    É preciso garantir que todos os apps do Firebase em um único projeto do Firebase sejam variantes de plataforma do mesmo aplicativo, do ponto de vista do usuário final. Saiba mais sobre multilocação em nossos documentos de práticas recomendadas.

    Saiba mais sobre o limite de apps por projeto nas Perguntas frequentes.

  • Número de sites Hosting por projeto

    O recurso de vários sites Firebase Hosting é compatível com no máximo 36 sites por projeto.

Como lançar seu app