📊 Slides: Cap 18 — Alertas de Batalha: Notificações

📖 Ver Cap 18 completo

Resumo visual da aula, em blocos — use como roteiro de revisão ou apresentação.


🟦 Slide 1: Objetivo da Aula


🟦 Slide 2: O Cenário Prático

Os jogadores esquecem de entrar no jogo! Crie o Sistema de Alerta: quando um evento começar, o celular vibra e mostra “⚔️ Nova Batalha na Arena! Clique para participar”.


🟦 Slide 3: Dicionário do Programador

Termo Significado
Notificação Push Mensagem “empurrada” da internet para o celular
Firebase FCM Serviço do Google que entrega as mensagens, grátis
Token O “endereço” exclusivo do celular

🏗️ Checklist: projeto no Firebase Console + google-services.json + serviço no Manifesto


🟦 Slide 4: Do Servidor ao Aviso na Tela

graph TD
    A["Servidor do Game"] -->|Envia Alerta| B["Firebase Cloud Messaging"]
    B -->|Localiza Celular| C["App do Jogador"]
    C -->|Gera Popup| D["Aviso na Tela"]

🟦 Slide 5: Exemplo — O Recebedor de Alertas

fun mostrarNotificacao(context: Context, titulo: String, mensagem: String) {
    val notificacao = NotificationCompat.Builder(context, "canal_batalha")
        .setContentTitle(titulo)
        .setContentText(mensagem)
        .setSmallIcon(android.R.drawable.ic_dialog_info)
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .build()

    NotificationManagerCompat.from(context).notify(1, notificacao)
}

class AlertaService : FirebaseMessagingService() {
    override fun onMessageReceived(remoteMessage: RemoteMessage) {
        criarCanalNotificacao(this)
        val titulo = remoteMessage.notification?.title ?: "Novo Alerta"
        val mensagem = remoteMessage.notification?.body ?: "Algo novo aconteceu!"
        mostrarNotificacao(this, titulo, mensagem)
    }
}

🟦 Slide 6: Prática e Próximos Passos


⬅️ Voltar para Slides