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 seu app em primeiro plano ou em segundo plano.

206c7ece550bde.png

Pré-requisitos

Nenhuma

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 FIAM de teste para seu app

O que é necessário

  • Android Studio 4.1
  • Dispositivo ou emulador do 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 seria aquele clonado na etapa anterior (File > Open > .../codelab-fcm-and-fiam).

Agora o projeto FcmAndFiam está 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 do 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 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 seu app

Depois de adicionar o nome do pacote, clique em Registrar app e faça o download de google-services.json para receber o arquivo de configuração do Firebase para Android e depois copie o arquivo 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 realizadas 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 seu aplicativo para usar o Firebase. A dependência do plug-in google-services e o próprio plug-in já precisam estar adicionados aos arquivos de build 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 seguintes dependências. 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 seu projeto com os arquivos do Gradle nesse 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 Mensagens no app do Firebase usam identificadores para enviar mensagens aos aplicativos. 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 o dispositivo Android e clique em Run ( executar.png) na barra de ferramentas do Android Studio. Tocar no botão Identificadores de registro faz com que o token de registro do FCM e o ID de instalações do Firebase sejam registrados 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 compor uma mensagem de notificação do FCM e enviá-la ao nosso dispositivo. As mensagens de notificação são aquelas exibidas na área de notificação do sistema. Envie uma mensagem de teste do FCM por:

  1. Confira se o app está em segundo plano (acesse a tela inicial)
  2. Acesse o Console do Firebase e selecione Cloud Messaging na navegação à esquerda.
  3. Selecione 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 a notificação de exibição no dispositivo
  2. Toque na notificação para abrir o app

6. Enviar mensagem FIAM de teste

O recurso Mensagens no app do Firebase 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 no app. Envie uma mensagem do FIAM de teste:

  1. Confira se o app está em segundo plano (acesse a tela inicial)
  2. Acesse o Console do Firebase e selecione "Mensagens no app" no painel de 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 Test

24b101edfab47144.png

  1. Reabrir app
  2. Observar mensagem no app

7. Parabéns

Parabéns, você enviou 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 aos usuários no seu próprio app Android.

Documentos de referência