O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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ê 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. Em um projeto, crie apps do Firebase registrando seus apps para iOS, Android ou da Web. Depois de registrar seus apps com o Firebase, adicione os SDKs a qualquer número de produtos do Firebase, como Analytics, Cloud Firestore, Monitoramento de desempenho ou Configuração remota.

Saiba mais sobre esse processo nos guias de primeiros passos (iOS | Android | Web | Unity | C++).

Relação entre projetos do Firebase e o Google Cloud

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

Como um projeto do Firebase é um projeto do 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, por meio da API REST do Firebase Management ou a Firebase CLI). 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.

Revise algumas práticas recomendadas gerais no nível do projeto (na parte inferior desta página) antes de configurar um projeto e registrar apps.

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 do 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.

Chamadas de API e o número do projeto

Em muitas chamadas de API, você precisa incluir um identificador exclusivo para um projeto. Embora muitas APIs aceitem o ID do projeto, é recomendável usar o número dele para fazer chamadas de API ao Firebase, Google ou serviços de terceiros.

Saiba mais sobre como usar identificadores de projeto, especialmente o número, no padrão AIP 2510 (em inglês) do Google.

Encontrar o número do projeto

  • Console do Firebase: clique em Configurações do projeto. O número do projeto é exibido no painel superior.

  • Firebase CLI: execute firebase projects:list. O número é exibido junto a todos os projetos do Firebase associados à sua conta.

  • API REST Firebase Management: chame projects.list. O corpo da resposta contém o número do projeto no objeto FirebaseProject.

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.

Se você excluir um projeto, o ID dele também será excluído e nunca mais poderá ser usado.

Recursos do Firebase e o código do projeto

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

  • Subdomínio do Hosting padrão: PROJECT_ID.web.app e PROJECT_ID.firebaseapp.com
  • URL padrão do Realtime Database: PROJECT_ID-default-rtdb.firebaseio.com ou PROJECT_ID-default-rtdb.REGION_CODE.firebasedatabase.app
  • Nome padrão do bucket do Cloud Storage: 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. Conecte domínios personalizados a um site hospedado pelo Firebase, fragmente o Realtime Database e crie vários buckets do Cloud Storage (acesse a página "Primeiros passos" específica da 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 os comandos do firebase para comunicar com qual projeto do Firebase você quer interagir.

Também é possível configurar um alias de projeto para cada projeto do Firebase, de modo que você não precise se lembrar dos IDs.

Chamadas de API e o ID do projeto

Em muitas chamadas de API, você precisa incluir um identificador exclusivo para um projeto. Embora muitas APIs aceitem o ID do projeto, é recomendável usar o número dele para fazer chamadas de API ao Firebase, Google ou serviços de terceiros.

Saiba mais sobre como usar identificadores de projeto, especialmente o número, no padrão AIP 2510 (em inglês) do Google.

Encontrar o ID do projeto

  • Console do Firebase: clique em Configurações do projeto. O ID do projeto é exibido no painel superior.

  • Firebase CLI: execute firebase projects:list. O ID do projeto é exibido com todos os projetos do Firebase associados à sua conta.

  • API REST Firebase Management: chame projects.list. O corpo da resposta contém o ID do projeto no objeto FirebaseProject.

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 iOS/Android) ou um objeto de configuração (apps da Web) para adicionar diretamente ao diretório do app local.

  • Em apps para iOS, 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. Veja 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 (valor de exemplo: myapp-project-123).

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

    • Apps do Firebase para iOS: 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 do iOS 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, utilize Regras de segurança do Firebase para proteger seus dados e arquivos no Realtime Database, no Cloud Firestore e no 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 (por meio do próprio arquivo de configuração ou objeto do Firebase).

Como gerenciar um projeto do Firebase

Revise as práticas recomendadas gerais no nível do projeto (na parte inferior da página) para ver considerações que podem afetar o gerenciamento de um projeto do Firebase.

Ferramentas para gerenciar um 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 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.

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, 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).

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 registrar as versões para iOS, Android e Web do mesmo app ou jogo com o mesmo projeto do Firebase. Geralmente, todos os apps em um projeto compartilham os mesmos recursos do Firebase (banco de dados, buckets de armazenamento etc.).

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

Veja 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 de faturamento do Cloud 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.

    Lembre-se de 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 do Firebase 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. Leia abaixo sobre as práticas recomendadas para multilocação.

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

  • Número de sites do Hosting por projeto

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

Multilocação

Não é recomendável conectar vários apps e/ou sites da Web logicamente independentes a um único projeto do Firebase. 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, considere registrar cada app 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, mas as versões para iOS e Android desse rótulo podem estar no mesmo projeto. Cada app marcado de maneira independente não pode (por motivos de privacidade) compartilhar dados com os outros.

Como lançar seu app