Android: Como integrar seu App ao Firebase
Published: 2021-10-31 10:54:43

O Firebase é uma solução utilizada por milhares de desenvolvedores pelo mundo. Considerado um **Baas**, *Backend-as-a-Service*, é uma plataforma de desenvolvimento de aplicativos móveis do Google com o intuito de ajudar você à criar, melhorar e expandir o seu aplicativo. 

Neste artigo abordaremos como integrar o Firebase ao seu App através do Android Studio. 

Você precisará ter uma conta do Google. Se ainda não tem, cadastre uma. 

Acesse o site do FireBase: https://firebase.google.com/

Esta é a tela principal do FireBase. Clique em Começar, e depois em Criar Projeto:

 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53nlwdo3i6jldfkvfufj.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qqhezz9ziwzqiovg6bg.png)

 
Dê um nome ao seu projeto. Pode ser o nome da sua aplicação:
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/12v9hkmt0qfikfbzo1u3.png)
 
Você pode ativar o Google Analytics se você quiser. Não vou ativar neste exemplo. Clique em continuar:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b1sy3ovnufu3qc1aj6cq.png)
 
Seu projeto no Firebase foi criado! Vamos às configurações. Clique em Continuar:
 

 
 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oc3rwdcwrieyj1lso2ax.png)

Na tela principal do seu projeto, adicione o Firebase ao seu aplicativo clicando no ícone do Android:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f6nq7ejirxoask2d7emx.png)

Você precisará registrar o seu app.  Adicione o nome do pacote da sua aplicação. Ele pode ser encontrado tanto no arquivo **AndroidManifest** , como  no arquivo **build.gradle** em nível de App.  

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wcsb7tkuyalir9yjxx0k.png)

No arquivo  *build.gradle* em nível de App, busque a tag *applicationID* e copie o seu conteúdo: 
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/agcbihg6l9wfggzu70g3.png)
 
Se você quiser, também poderá dar um nome ao seu App. Após isso, clique em Registrar: 
 
 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m73mjabhe0qqeq2ydwqb.png)

Será disponibilizado um arquivo JSON com as configurações necessárias para o correto funcionamento. Este arquivo deverá ser importado ao projeto. Faça o download do arquivo google-services.json
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p26v6qtsird8036uojcm.png)

Mude para a visualização do Projeto no Android Studio para ver o diretório raiz. Mova o arquivo google-services.json que você acabou de salvar para o diretório raiz do módulo do app Android.

Com a visualização do Android Studio em nível de Projeto, adicionar o arquivo JSON no diretório App conforme abaixo:

 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bs5j16e1sjqau2euikvy.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3sfzoe3bj4vo91ddoprf.png)
 
Após adicionar o arquivo JSON, chegou a hora de configurar as dependências do projeto. 
Vamos adicionar o SDK do Firebase ao nosso App:
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ypa36nr3pw6tvoyfg4q.png)
 
No arquivo build.gradle em nível do projeto, copie a linha classpath e cole dentro do bloco de dependências: 
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uie7zbeg10qkk5emwi6y.png)
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4jsutma28ffn1jentqu1.png)

Agora, em nível de App, vamos adicionar os plugins e as dependências:

 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5h5pmfscd41g3tw4a92q.png)

Primeiramente os plugins:

```javascript
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

```
Estes ficarão acima de dependências: 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qamwt6k9wo3w2nwsi6fe.png)
 

E agora  vamos adicionar a dependência:

```javascript
implementation platform('com.google.firebase:firebase-bom:28.4.2')
```

 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pfug03u93driqk5grn7z.png)

Para finalizar, é preciso sincronizar o projeto:
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tn0ad2qdkb2ksl21v2k.png)

Depois de sincronizar, clicar em continuar no Console:
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4a820nmdr1rg1olr5pui.png)

Vamos agora adicionar algumas bibliotecas. De volta à pagina principal do seu projeto, clique em Acessar a documentação

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ys9xjpsgbpth8wmqp7qi.png)
 

Clicar em primeiros Passos com Android:
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o7fohn8t4paaewqlco83.png)

Ao final da página, serão exibidas diversas bibliotecas disponíveis para uso:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/90qelyngxbxyfp1f35jn.png)

 
Para o nosso exemplo, vamos incluir duas: autenticação e gravação em banco de dados

Authentication: Para autenticação de Usuário

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ch6gx8trzpr5u2vduux5.png)
 

Cloud Firestore: Banco de dados baseado em coleção:

 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/svq352ksxzgaxpxl9kkm.png)

 
No arquvo build.gradle à nivel de App, cole as duas dependências dentro da tag implementation:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4i69ytg5aama0mhenzz.png)
 
Para testar se a integração foi feita da forma correta, você pode dentro do OnCreate, por exemplo, começar a chamar os métodos disponíveis do Firebase. 

Se a lista de opções do Firebase for exibida conforme abaixo, é que a configuração foi feita com sucesso!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0svwyvlh53rx5sxtplz.png)