Usar o FCM e o FIAM para enviar mensagens aos usuários

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.

206c7ecece550bde.png

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 ( android_studio_folder.png). É 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

  1. Acesse o Console do Firebase.
  2. Selecione Adicionar projeto.
  3. Selecione ou digite o nome de um projeto.
  4. 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.
  5. Na tela de visão geral do novo projeto, clique no ícone do Android para iniciar o fluxo de trabalho de configuração.
  6. 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.

  1. 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)
   }
}
  1. Conecte seu dispositivo Android e clique em Run (executar.png) 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:

  1. Confira se o app está em segundo plano (vá para a tela inicial)
  2. Acesse o Console do Firebase e selecione Cloud Messaging na navegação à esquerda
  3. Selecione Send your first message (Enviar sua primeira mensagem).
  4. Adicione um título e um corpo para a mensagem e clique em Enviar mensagem de teste.

207ced65f5245ada.png

  1. Adicione o token de registro do FCM e clique em testar.

f3556c6a8a6453fe.png

  1. Observar a notificação na tela do dispositivo
  2. 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:

  1. Confira se o app está em segundo plano (vá para a tela inicial)
  2. Acesse o Console do Firebase e selecione "Mensagens no app" na navegação à esquerda
  3. Selecione Crie sua primeira campanha
  4. Selecione a campanha do banner superior e insira o título e o corpo da mensagem.
  5. Clique em Testar no dispositivo.

69f6ea5efff240d1.png

  1. Adicione o ID de instalações e clique em Testar.

24b101edfab47144.png

  1. Abrir o app novamente
  2. 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.

Documentos de referência