🏆 P10: Arena Social: O SuperApp Gamer
Este é o seu BOSS FINAL. Neste projeto, você vai integrar tudo o que aprendeu e adicionar o poder do Firebase. Seu app terá Login Real, Banco de Dados na Nuvem (Firestore) e Notificações Push para avisar sobre batalhas.
🎯 Objetivo do Projeto
Criar uma “Rede Social de Batalhas”. Os jogadores fazem login, postam seus Pokémons mais fortes em um mural público e recebem notificações quando outros jogadores os desafiam.
📖 Dicionário do Projeto
-
Firebase Authentication: Sistema pronto do Google para fazer login com e-mail e senha.
-
Cloud Firestore: Banco de dados em tempo real. Quando um jogador posta algo, a tela de todos os outros atualiza sozinha!
-
Firebase Cloud Messaging (FCM): O serviço que envia as notificações push (avisos no topo da tela).
-
google-services.json: O arquivo de configuração que você baixa do Firebase e coloca dentro da pasta
app/do seu projeto.
🏗️ Passo a Passo (Wizard do Android Studio)
-
Template: Empty Compose Activity.
-
Name:
AppArenaSocial_SeuNome. -
Package Name:
br.com.curso.arenasocial.
🎨 Parte 1: O Login Seguro (Auth)
No arquivo MainActivity.kt, o código real do Firebase está comentado para evitar que o app feche sozinho (crash) antes de você configurar o seu próprio projeto no Firebase.
val auth = FirebaseAuth.getInstance()
auth.signInWithEmailAndPassword(email, senha)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
println("✅ Bem-vindo à Arena!")
} else {
println("❌ Erro no login.")
}
}⚙️ Parte 2: O Mural de Batalhas (Firestore)
val db = FirebaseFirestore.getInstance()
// Salvando uma postagem
val postagem = hashMapOf(
"usuario" to "Ash",
"mensagem" to "Desafio qualquer um para uma batalha!",
"pokemon" to "Pikachu"
)
db.collection("mural").add(postagem)🏆 Checklist de Conclusão
Para este projeto funcionar 100%:
- Crie um projeto no Firebase Console.
- Adicione um app Android com o pacote
br.com.curso.arenasocial. - Baixe o arquivo
google-services.jsone substitua o arquivo falso que está na pastaapp/. - Ative o Authentication (E-mail/Senha) e o Firestore Database no console do Firebase.
- Descomente o código em
MainActivity.kte teste!
📂 Organização de Pastas
br.com.curso.arenasocial → MainActivity.kt (Contém a UI e a lógica do Firebase comentada).
??? Requisitos de Configuração e Solução de Problemas
Se você encontrar erros ao tentar rodar este projeto, verifique os pontos abaixo:
1. Suporte ao AndroidX
O arquivo gradle.properties na raiz do projeto deve conter:
android.useAndroidX=true
android.enableJetifier=true
org.gradle.jvmargs=-Xmx2048m
2. Plugins do Gradle
Certifique-se de que o plugin com.google.gms.google-services está aplicado no build.gradle do módulo app.