Separando o Firebase de Desenvolvimento e Produção

Bruno Faganello
Code With Coffee

--

A segregação de ambientes do desenvolvimento consiste no princípio que os desenvolvedores não devem ter acesso amplo aos ambientes de homologação e produção, bem como aos dados destes ambientes.

Pra quem não conhece o firebase é uma plataforma que facilita bastante a vida na hora do desenvolvimento e é separado em 4 grandes áreas:

  • Desenvolver
  • Qualidade
  • Analytics
  • Ampliar

E muitas casos precisamos testar alguma configuração nova para saber se está funcionando, sem alterar o ambiente de produção naquele momento. Por isso o ideal é ter 2 projetos dentro do seu console do Firebase.

Iniciando no Firebase

Entrem no Firebase e criem dois projetos.

Dica: O projeto de desenvolvimento pode ser composto pelo nome do projeto-dsv/hml

  • dsv = Desenvolvimento
  • hml= Homologação

Feito isso ele vai perguntar qual a plataforma do seu projeto, desse exemplo em questão de código vou utilizar em iOS mas é possível fazer a mesma coisa para Android.

Instalando no Firebase Projeto

Instalando a Framework no seu projeto, no caso do iOS, vamos ter dois arquivos .plist, no Android são dois arquivos .json.

Vamos renomear o arquivo do projeto de desenvolvimento para GoogleService-Info-dsv.plist

Importe os arquivos para seu projeto.

Configurando Firebase

O Firebase tem jeito fácil de instalar, só precisamos chamar o função configure (se mantermos o nome do arquivo original — GoogleService-Info.plist)

FirebaseApp.configure()

Mas queremos ter dois tipo de configurações, uma para desenvolvimento e outra para produção.

Existe um outro método configure que podemos passar qual arquivo que ele vai ler para realizar as configurações do firebase. Precisamos verificar também em qual ambiente está sendo executado o aplicativo, podemos fazer isso utilizando o if DEBUG, caso seu projeto utilize outro jeito de verificar o ambiente de desenvolvimento é possível utiliza-lo

#if DEBUGFirebaseApp.configure(options: FirebaseOptions(contentsOfFile: “GoogleService-Info-dsv.plist”)!)#elseFirebaseApp.configure(options: FirebaseOptions(contentsOfFile: “GoogleService-Info.plist”)!)#endif

Pronto, seu projeto agora separa para qual firebase mandar as informações.

Lembrando que esse código é em iOS mas é possível fazer ele Android.

Muito Obrigado.

--

--

Bruno Faganello
Code With Coffee

Engenheiro de Software Mobile. Fico constantemente atualizado com relação a tecnologia para que isso possa mudar a vida das pessoas. 💻