Práticas recomendadas gerais para configurar projetos do Firebase

Esta página fornece práticas recomendadas gerais e de alto nível para configurar projetos do Firebase e registrar seus aplicativos em um projeto para que você tenha um fluxo de trabalho de desenvolvimento claro que use ambientes distintos. Quando estiver familiarizado com as práticas recomendadas nesta página, confira nossas diretrizes gerais de segurança .

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.

Onde um projeto do Google Cloud se enquadra nessa hierarquia?

Um aspecto da hierarquia do projeto do Firebase que não é mostrado no diagrama acima é o relacionamento com um projeto do Google Cloud. Um projeto do Firebase é, na verdade, apenas um projeto do Google Cloud que possui configurações e serviços adicionais específicos do Firebase habilitados para ele. Observe que todos os aplicativos registrados no mesmo projeto do Firebase também compartilham e têm acesso a todos os mesmos recursos e serviços do Google Cloud.

Saiba mais sobre o relacionamento entre Firebase e Google Cloud em Entenda os projetos do Firebase

Registrar variantes de aplicativos em projetos do Firebase

Aqui estão algumas dicas importantes para registrar as variantes do seu aplicativo em um projeto do Firebase:

  • Garanta que todos os aplicativos registrados em um projeto do Firebase sejam variantes de plataforma do mesmo aplicativo do ponto de vista do usuário final. Registre as versões iOS, Android e Web do mesmo aplicativo ou jogo com o mesmo projeto do Firebase.

  • Se você tiver diversas variantes de build que possam compartilhar os mesmos recursos do Firebase , registre as variantes no mesmo projeto do Firebase. Alguns exemplos são um blog e um aplicativo web no mesmo projeto, ou as versões gratuita e paga do mesmo aplicativo no mesmo projeto.

  • Se você tiver diversas variantes de build baseadas no status da versão (em vez de na atividade ou acesso comum do usuário final, como acima), registre cada variante em um projeto separado do Firebase. Um exemplo é sua compilação de depuração versus versão – registre cada uma dessas compilações em seu próprio projeto Firebase.

    • As compilações baseadas no status de lançamento não devem compartilhar os mesmos recursos do Firebase, pois isso corre o risco de seus dados de depuração poluirem ou até mesmo substituirem seus dados de produção.

    • As variantes de plataforma de cada uma dessas variantes de compilação devem estar no mesmo projeto do Firebase. Por exemplo, registre os builds de depuração do iOS e do Android em um projeto "dev" do Firebase, pois ambos podem interagir com os mesmos dados e recursos não relacionados à produção.

Evitando multilocação

A multilocação pode levar a sérias preocupações de configuração e privacidade de dados, incluindo problemas não intencionais com agregação de análises, 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 compartilha os mesmos dados e configurações, considere registrar cada app em um projeto diferente do Firebase.

Por exemplo, se você desenvolver um aplicativo com etiqueta em branco, cada aplicativo com rótulo independente deverá ter seu próprio projeto do Firebase, e as versões iOS e Android desse rótulo deverão estar no mesmo projeto do Firebase. Cada aplicativo rotulado independentemente não deve (por motivos de privacidade) compartilhar dados com outros.

Próximos passos