1. Antes de começar
Neste codelab, você vai aprender a adicionar a capacidade de interagir com os usuários, estejam eles usando o app em primeiro plano ou em segundo plano.
Pré-requisitos
Nenhum
O que você aprenderá
- Adicionar o Firebase ao seu app Android
- Adicionar dependências do FCM e do FIAM
- Enviar mensagens de teste do FCM para seu app
- Enviar mensagem do FIAM de teste para seu app
O que é necessário
- Android Studio 4.1
- Dispositivo ou emulador Android
2. Primeiros passos
Fazer o download do exemplo de código
Clone o repositório do GitHub na linha de comando:
Importar o app inicial
No Android Studio, selecione o diretório codelab-fcm-and-fiam
( ). É o que foi clonado na etapa anterior (Arquivo > Abrir > .../codelab-fcm-and-fiam).
O projeto FcmAndFiam deve estar aberto no Android Studio. Se você receber um aviso sobre um arquivo google-services.json ausente, não se preocupe. Ele será adicionado na próxima etapa.
3. Criar projeto do console do Firebase
Adicionar o Firebase ao projeto
- Acesse o Console do Firebase.
- Selecione Adicionar projeto.
- Selecione ou digite o nome de um projeto.
- Siga as demais etapas de configuração no Console do Firebase e clique em Criar projeto ou Adicionar Firebase, se estiver usando um projeto atual do Google.
- Na tela de visão geral do novo projeto, clique no ícone do Android para iniciar o fluxo de trabalho de configuração.
- Insira o nome do pacote do codelab:
com.google.firebase.codelab.fcmandfiam
Adicionar o arquivo google-services.json ao app
Depois de adicionar o nome do pacote, clique em Register App and Download google-services.json para receber seu arquivo de configuração do Firebase para Android e copie o google-services.json no diretório app
do seu projeto. Depois que o arquivo for transferido, clique em Skip para as próximas etapas mostradas no console (elas já foram feitas para você no projeto build-android-start).
Adicionar o plug-in google-services ao app
O plug-in google-services usa o arquivo google-services.json para configurar o aplicativo para usar o Firebase. A dependência do plug-in google-services e o próprio plug-in já devem ter sido adicionados aos arquivos de build no nível do projeto e do app, respectivamente. Confirme as seguintes entradas:
build.gradle
buildscript {
...
dependencies {
...
classpath 'com.google.gms:google-services:4.3.8'
}
}
app/build.gradle
plugins {
...
id: 'com.google.gms.google-services'
}
Adicionar dependências
O FCM e o FIAM exigem as dependências abaixo. Essas dependências já precisam ser adicionadas ao arquivo de build do app. Confirme se as seguintes dependências foram adicionadas:
app/build.gradle
dependencies {
...
implementation platform('com.google.firebase:firebase-bom:28.4.2')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-inappmessaging-display'
}
Sincronizar seu projeto com arquivos do Gradle
Para garantir que todas as dependências estejam disponíveis para o app, sincronize o projeto com os arquivos do Gradle neste momento. Selecione Arquivo > Sync Project with Gradle Files na barra de ferramentas do Android Studio
4. Identificadores de registros
O Firebase Cloud Messaging e o recurso Mensagens no app do Firebase usam identificadores para enviar mensagens aos apps. O FCM usa um token de registro, e o FIAM usa um ID de instalação.
- Em
MainActivity.kt
, substitua TODO pelo código abaixo para registrar os identificadores necessários para enviar mensagens:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
if (regTokenTask.isSuccessful) {
Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
} else {
Log.e(TAG, "Unable to retrieve registration token",
regTokenTask.exception)
}
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
if (installationIdTask.isSuccessful) {
Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
} else {
Log.e(TAG, "Unable to retrieve installations ID",
installationIdTask.exception)
}
}
- Conecte seu dispositivo Android e clique em Run () na barra de ferramentas do Android Studio. Tocar no botão Identificadores de registro registra o token de registro do FCM e o ID de instalações do Firebase no logcat. O resultado será semelhante a este:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Enviar mensagem de teste do FCM
As mensagens do FCM podem ser enviadas do Console do Firebase e da API REST do FCM. Neste codelab, vamos criar uma mensagem de notificação do FCM e enviá-la ao nosso dispositivo. As mensagens de notificação são aquelas que são exibidas na área de notificação do sistema. Envie uma mensagem de teste do FCM:
- Confira se o app está em segundo plano (vá para a tela inicial)
- Acesse o Console do Firebase e selecione Cloud Messaging na navegação à esquerda
- Selecione Send your first message (Enviar sua primeira mensagem).
- Adicione um título e um corpo para a mensagem e clique em Enviar mensagem de teste.
- Adicione o token de registro do FCM e clique em testar.
- Observar a notificação na tela do dispositivo
- Tocar na notificação abre o app
6. Enviar mensagem de teste do FIAM
O recurso do Firebase de mensagens no app pode ser acionado como resultado de vários eventos do usuário. A mensagem de teste usa o evento de abertura do app para acionar a mensagem. Envie uma mensagem de teste do FIAM:
- Confira se o app está em segundo plano (vá para a tela inicial)
- Acesse o Console do Firebase e selecione "Mensagens no app" na navegação à esquerda
- Selecione Crie sua primeira campanha
- Selecione a campanha do banner superior e insira o título e o corpo da mensagem.
- Clique em Testar no dispositivo.
- Adicione o ID de instalações e clique em Testar.
- Abrir o app novamente
- Observar mensagem no app
7. Parabéns
Parabéns, você enviou mensagens do FCM e do FIAM. Agora você sabe como interagir com os usuários, seja quando eles usam o app em primeiro plano ou em segundo plano.
Leia mais
Próximas etapas
- Envie mensagens para usuários no seu próprio app Android.