Nesta página, apresentamos as práticas recomendadas gerais de alto nível para configurar projetos do Firebase e registrar apps em um projeto para ter um fluxo de desenvolvimento claro usando ambientes diferentes. Quando você se familiarizar com as práticas recomendadas nesta página, confira nossas diretrizes gerais de segurança.
Noções básicas sobre a hierarquia dos projetos do Firebase
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 custo e paga.
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 em um projeto 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.
Onde um projeto do Google Cloud se encaixa nessa hierarquia?
Um aspecto da hierarquia de projetos do Firebase que não é mostrado no diagrama acima é a relação com um projeto do Google Cloud. Um projeto do Firebase é apenas um projeto do Google Cloud que tem mais configurações e serviços específicos do Firebase ativados para ele. Observe que todos os apps registrados em um projeto do Firebase também compartilham e têm acesso aos mesmos recursos e serviços do Google Cloud.
Saiba mais sobre a relação entre o Firebase e o Google Cloud em Noções básicas sobre projetos do Firebase.
Como registrar variantes de apps com projetos do Firebase
Veja algumas dicas importantes para registrar as variantes do app em um projeto do Firebase:
Verifique se todos os apps registrados em um projeto do Firebase são variantes de plataforma do mesmo aplicativo, do ponto de vista do usuário final. Registre as versões para iOS, Android e Web de um app ou jogo com o mesmo projeto do Firebase.
Se você tiver muitas variantes de build que podem compartilhar os mesmos recursos do Firebase, registre as variantes com o mesmo projeto do Firebase. Alguns exemplos são um blog e um app da Web em um projeto ou as versões com e sem ônus financeiro de um app no mesmo projeto.
Se você tiver muitas variantes de build baseadas no status de lançamento e não em atividades comuns dos usuários finais ou no acesso, como visto acima, registre cada uma com um projeto diferente do Firebase. Um exemplo é o build de depuração versus de lançamento. Registre cada um no próprio projeto do Firebase.
Os builds com base no status de lançamento não devem compartilhar os mesmos recursos do Firebase porque isso pode causar a poluição e até mesmo a substituição dos dados de produção pelos dados de depuração.
As variantes de plataforma de cada variante de compilação precisam estar no mesmo projeto do Firebase. Por exemplo, registre os builds de depuração do iOS e do Android em um projeto de "dev" do Firebase, porque ambos podem interagir com os mesmos dados e recursos não relacionados à produção.
Como evitar a multilocação
A multilocação pode levar a sérios problemas de configuração e privacidade de dados, incluindo aqueles não intencionais com agregação de análise, autenticação compartilhada, estruturas de banco de dados complexas demais e dificuldades com regras de segurança.
Geralmente, se um conjunto de apps não compartilhar os mesmos dados e configurações, registre cada app a um projeto diferente do Firebase.
Por exemplo, quando você desenvolve um aplicativo de marca branca, cada app marcado de maneira independente precisa ter o próprio projeto do Firebase. Também é necessário que as versões para iOs e Android dessa marca estejam nesse mesmo projeto. Por motivos de privacidade, um app marcado de maneira independente não pode compartilhar dados com os outros.
Próximas etapas
Veja as diretrizes gerais de segurança para diferentes ambientes. Você quer garantir segurança a cada ambiente e aos dados dele.
Consulte a lista de verificação de lançamento do Firebase.