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

1. Antes de começar

Neste codelab, você aprenderá como adicionar a capacidade de interagir com os usuários, estejam eles usando seu app em primeiro plano ou em segundo plano.

206c7ecece550bde.png

Pré-requisitos

Nenhum

O que você aprenderá

  • Adicione o Firebase ao seu aplicativo Android
  • Adicionar dependências FCM e FIAM
  • Envie uma mensagem FCM de teste para seu aplicativo
  • Envie uma mensagem FIAM de teste para seu aplicativo

O que você precisará

  • Android Studio 4.1
  • Dispositivo ou emulador Android

2. Comece

Obtenha o código de amostra

Clone o repositório GitHub na linha de comando:

Importar o aplicativo inicial

No Android Studio, selecione o diretório codelab-fcm-and-fiam ( android_studio_folder.png ). Seria aquele clonado na etapa anterior ( File > Open > .../codelab-fcm-and-fiam).

Agora você deve ter o projeto FcmAndFiam aberto no Android Studio. Se você vir um aviso sobre a falta de um arquivo google-services.json, não se preocupe. Ele será adicionado na próxima etapa.

3. Crie um projeto de console do Firebase

Adicionar Firebase ao projeto

  1. Acesse o console do Firebase .
  2. Selecione Adicionar projeto .
  3. Selecione ou insira um nome de projeto.
  4. Siga as etapas de configuração restantes no console do Firebase e clique em Criar projeto (ou Adicionar Firebase, se estiver usando um projeto existente do Google).
  5. Na tela de visão geral do seu novo projeto, clique no ícone do Android para iniciar o fluxo de trabalho de configuração.
  6. Digite o nome do pacote do codelab: com.google.firebase.codelab.fcmandfiam

Adicione o arquivo google-services.json ao seu aplicativo

Depois de adicionar o nome do pacote, clique em Register App, em seguida, em Download google-services.json para obter seu arquivo de configuração Firebase Android e copie o arquivo google-services.json no diretório app em seu projeto. Após o download do arquivo, você pode clicar em Ignorar para as próximas etapas mostradas no console (elas já foram feitas para você no projeto build-android-start).

Adicione o plug-in de serviços do Google ao seu aplicativo

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á devem ser adicionados aos arquivos de compilação de nível de projeto e aplicativo, 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

FCM e FIAM requerem as seguintes dependências. Essas dependências já devem ser adicionadas ao arquivo de compilação no nível do aplicativo. 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'
}

Sincronize seu projeto com arquivos gradle

Para ter certeza de que todas as dependências estão disponíveis para seu aplicativo, você deve sincronizar seu projeto com arquivos 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 Firebase In App Messaging 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 TODO pelo código abaixo para logar 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 Executar ( execute.png ) na barra de ferramentas do Android Studio. Tocar no botão Log Identifiers registrará o token de registro do FCM e o Firebase Installations ID no logcat. A saída deve ficar assim:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Enviar mensagem FCM de teste

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 para o nosso dispositivo. As mensagens de notificação são aquelas exibidas na área de notificação do sistema. Envie uma mensagem FCM de teste por:

  1. Verifique se o aplicativo está em segundo plano (vá para a tela inicial)
  2. Vá para 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 testar

f3556c6a8a6453fe.png

  1. Observe a notificação de exibição no dispositivo
  2. Tocar na notificação abre o aplicativo

6. Enviar mensagem FIAM de teste

O Firebase In App Messaging pode ser acionado como resultado de uma variedade de eventos do usuário. A mensagem de teste usa o evento de abertura do aplicativo para acionar a mensagem no aplicativo. Envie uma mensagem FIAM de teste por:

  1. Verifique se o aplicativo está em segundo plano (vá para a tela inicial)
  2. Vá para o Firebase console e selecione In-App Messaging na navegação à esquerda
  3. Selecione Criar sua primeira campanha
  4. Selecione a campanha de banner principal e insira o título e o corpo da mensagem
  5. Clique em Testar no dispositivo

69f6ea5efff240d1.png

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

24b101edfab47144.png

  1. Reabrir aplicativo
  2. Observe na mensagem do aplicativo

7. Parabéns

Parabéns, você enviou com sucesso as mensagens FCM e FIAM. Agora você sabe como interagir com seus usuários, estejam eles usando seu aplicativo em primeiro plano ou em segundo plano.

Leitura adicional

Qual é o próximo

  • Envie mensagens para usuários em seu próprio aplicativo Android.

Documentos de referência