Entenda os projetos do Firebase

Esta página oferece breves visões gerais 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.

Relacionamento entre projetos, aplicativos e produtos do Firebase

Um projeto do Firebase é a entidade de nível superior do Firebase. Em um projeto, você pode registrar seus aplicativos Apple, Android ou web. Depois de registrar seus aplicativos no Firebase, você poderá adicionar os SDKs do Firebase para qualquer número de produtos do Firebase , como Analytics, Cloud Firestore, Performance Monitoring ou Configuração remota.

Obtenha informações mais detalhadas sobre esse processo no guia de primeiros passos da sua plataforma:
iOS+ | Android | rede | Unidade | C++ | Vibração .

Compreendendo a hierarquia dos projetos do Firebase

Diagrama mostrando a hierarquia básica de um projeto do Firebase, incluindo o projeto, os aplicativos registrados e os recursos e serviços provisionados Este diagrama mostra a hierarquia básica de um projeto do Firebase. Aqui estão os principais relacionamentos:

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

  • Um projeto do Firebase pode ter um ou mais aplicativos do Firebase registrados (por exemplo, as versões iOS e Android de um aplicativo ou as versões gratuita e paga de um aplicativo).

  • Todos os aplicativos do Firebase registrados no mesmo projeto do Firebase compartilham e têm acesso aos mesmos recursos e serviços provisionados para o projeto . aqui estão alguns exemplos:

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

    • Todos os aplicativos do Firebase registrados no mesmo projeto do Firebase estão associados à mesma propriedade do Google Analytics, onde cada aplicativo do Firebase é um fluxo de dados separado nessa propriedade.

Relacionamento entre projetos Firebase e Google Cloud

Ao criar um novo projeto do Firebase, você está, na verdade, criando um projeto do Google Cloud nos bastidores. Você pode até criar um projeto do Google Cloud primeiro e depois adicionar o Firebase ao projeto. Você pode pensar 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, o Firebase adiciona automaticamente um rótulo firebase:enabled na página Rótulos do seu projeto no console do Google Cloud. Saiba mais sobre esta etiqueta em nosso FAQ .

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

Configurando um projeto Firebase e registrando aplicativos

Você pode configurar um projeto do Firebase e registrar aplicativos no console do Firebase (ou, para casos de uso avançados, por meio da API REST do Firebase Management ou da CLI do Firebase ). Ao configurar um projeto e registrar aplicativos, você precisa tomar algumas decisões organizacionais e adicionar informações de configuração específicas do Firebase aos seus projetos locais.

Para aplicativos de produção, você precisa configurar um fluxo de trabalho de desenvolvimento claro, que geralmente envolve o uso de vários ambientes. Revise nossa documentação sobre fluxos de trabalho de desenvolvedor , incluindo práticas recomendadas e diretrizes gerais de segurança para configurar projetos do Firebase e registrar aplicativos para criar seu fluxo de trabalho de desenvolvimento.

Interagindo com um projeto do Firebase

Além dos SDKs do produto, você pode interagir diretamente com um projeto do Firebase usando diversas ferramentas e interfaces diferentes.

Console do Firebase

O console do Firebase oferece o ambiente mais avançado para gerenciar produtos, aplicativos e configurações no nível do projeto do Firebase.

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

O painel esquerdo do console lista os produtos Firebase, organizados por categorias de nível superior. Na parte superior 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 cobrança .

O meio do console exibe botões que iniciam fluxos de trabalho de configuração para registrar vários tipos de aplicativos. Depois de começar a usar o Firebase, a área principal do console se transforma em um painel que exibe estatísticas sobre os produtos que você usa.

Observe que, como um projeto do Firebase também é um projeto do Google Cloud, você pode descobrir que várias tarefas ou produtos exigem o uso do console do Google Cloud em vez do console do Firebase.

Firebase CLI (uma ferramenta de linha de comando)

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

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

API REST de gerenciamento do Firebase

Usando a API REST de gerenciamento do Firebase , você pode gerenciar programaticamente um projeto do Firebase. Por exemplo, você pode registrar programaticamente um aplicativo em um projeto ou listar os aplicativos que já estão registrados ( iOS+ | Android | web ).

Identificadores de projeto do Firebase

Um projeto do Firebase pode ser identificado no back-end do Firebase e em diversas interfaces de desenvolvedor usando identificadores diferentes, incluindo o nome do projeto , o número do projeto e o ID do projeto .

O nome do projeto

Ao criar um projeto, você fornece um nome de projeto . Esse identificador é o nome somente interno de um projeto no Firebase Console , no Google Cloud Console e na Firebase CLI . O nome do projeto não é exposto em nenhum produto, serviço ou recurso publicamente visível do Firebase ou do Google Cloud; serve simplesmente para ajudá-lo a distinguir mais facilmente entre vários projetos.

Você pode editar o nome de um 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 seu projeto associado do Google Cloud ) tem um número de projeto . Este é o identificador canônico globalmente exclusivo atribuído pelo Google para o projeto. Use esse identificador ao configurar integrações e/ou fazer chamadas de API para Firebase, Google ou serviços de terceiros.

Você não pode editar um número de projeto. Se você excluir um projeto, o número do projeto também será excluído e nunca mais poderá ser usado por qualquer outro projeto.

O ID do projeto

Um projeto do Firebase (e seu projeto associado do Google Cloud ) tem um ID de projeto . Este é um identificador exclusivo definido pelo usuário para o projeto em todo o Firebase e Google Cloud. Ao criar um projeto do Firebase, o Firebase atribui automaticamente um ID exclusivo ao projeto, mas você pode editá-lo durante a configuração do projeto. Este 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 aplicativo em um projeto do Firebase, o console do Firebase fornece um arquivo de configuração do Firebase (aplicativos Apple/Android) ou um objeto de configuração (aplicativos da Web) que você adiciona diretamente ao diretório local do aplicativo.

  • Para aplicativos Apple, você adiciona um arquivo de configuração GoogleService-Info.plist .
  • Para aplicativos Android, você adiciona um arquivo de configuração google-services.json .
  • Para aplicativos da Web, você adiciona um objeto de configuração do Firebase.

A qualquer momento, você pode obter o arquivo ou objeto de configuração do Firebase de um aplicativo .

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

  • Chave de API : uma string criptografada simples usada ao chamar determinadas APIs que não precisam acessar dados privados 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 Google Cloud. Esse identificador pode aparecer em URLs ou nomes de alguns recursos do Firebase, mas geralmente deve ser tratado como um alias conveniente para fazer referência ao projeto. (valor de exemplo: myapp-project-123 )

  • ID do aplicativo ("AppID") : o identificador exclusivo do aplicativo Firebase em todo o Firebase com um formato específico da plataforma:

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

O conteúdo do arquivo ou objeto de configuração do Firebase é considerado público, incluindo o ID específico da plataforma do aplicativo (ID do pacote Apple ou nome do pacote Android) e os valores específicos do projeto do Firebase, como chave de API, ID do projeto, URL do Realtime Database e Nome do intervalo do Cloud Storage. Diante disso, use as regras de segurança do Firebase 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 objeto do Firebase do aplicativo no controle de origem porque, na maioria dos casos, seus usuários devem criar seus próprios projetos do Firebase e apontar seus aplicativos para seus próprios recursos do Firebase (por meio de sua própria configuração do Firebase). arquivo ou objeto).

Limites gerais para projetos, aplicativos e sites do Firebase

Aqui estão alguns limites gerais para projetos, aplicativos e sites do Firebase:

  • Número de projetos por conta

    • Plano de preços Spark – a cota de criação de projetos é limitada a um número menor de projetos (geralmente 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 Cloud Billing associada esteja em situação regular.

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

    Esteja ciente de que a exclusão completa de um projeto requer 30 dias e conta para a cota do projeto até que o projeto seja totalmente excluído.

  • Número de aplicativos por projeto

    O Firebase restringe o número total de aplicativos Firebase em um projeto Firebase a 30.

    Você deve garantir que todos os aplicativos do Firebase em um único projeto do Firebase sejam variantes de plataforma do mesmo aplicativo do ponto de vista do usuário final. Leia mais sobre multilocação em nossos documentos de práticas recomendadas.

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

  • Número de sites de hospedagem por projeto

    O recurso multisite do Firebase Hosting oferece suporte a no máximo 36 sites por projeto.

Iniciando seu aplicativo