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 uma mensagem de teste do FCM para seu app
  • Enviar uma mensagem de teste da FIAM 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 a ausência de um arquivo google-services.json, não se preocupe. Ele será adicionado na próxima etapa.

3. Criar um projeto do Console do Firebase

Adicionar o Firebase ao projeto

  1. Acesse o Console do Firebase.
  2. Selecione Adicionar projeto.
  3. Selecione ou digite um nome de 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 Registrar app e fazer o download do google-services.json para receber o arquivo de configuração do Firebase para Android e copie o arquivo google-services.json para o diretório app no 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 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 Arquivo > 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 o 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 pelo Console do Firebase e pela 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 aparecem 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 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 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 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 os usuários no seu app Android.

Documentos de referência