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

Nenhuma

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. Começar

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). Ele será o mesmo clonado na etapa anterior (File > Open > .../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 você 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 de fazer o download do arquivo, clique em Skip para acessar 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 a seguir. Essas dependências já precisam ter sido 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 File > Sync Project with Gradle Files na barra de ferramentas do Android Studio.

4. Identificadores de registro

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 o dispositivo Android e clique em Run ( executar.png) na barra de ferramentas do Android Studio. Toque no botão Identificadores de registro para registrar 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 escrever uma mensagem de notificação do FCM e enviá-la para 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. Verifique 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 à mensagem e clique em Enviar mensagem de teste.

207ced65f5245ada.png

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

f3556c6a8a6453fe.png

  1. Observar as notificações de exibição no 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 do FIAM de teste da seguinte forma:

  1. Verifique 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 Criar sua primeira campanha.
  4. Selecione a campanha de 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 com sucesso as mensagens do FCM e do FIAM. Agora você sabe como interagir com os usuários, estejam eles usando o app em primeiro ou segundo plano.

Leia mais

Próximas etapas

  • Envie mensagens para usuários no seu próprio app Android.

Documentos de referência