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

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

1. Antes de começar

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

206c7ecece550bde.png

Pré-requisitos

Nenhum

O que você vai aprender

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

O que você precisará

  • Android Studio 4.1
  • Dispositivo ou emulador Android

2. Comece

Obtenha o código de exemplo

Clone o repositório do GitHub na linha de comando:

Importar o aplicativo inicial

No Android Studio, selecione o codelab-fcm-and-fiam ( android_studio_folder.png ). Seria o clonado no passo 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 o 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 e depois em Download google-services.json para obter o arquivo de configuração do Firebase Android e copie o arquivo google-services.json no diretório do 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 no nível do projeto e do 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 Arquivo > Sincronizar projeto com arquivos Gradle na barra de ferramentas do Android Studio.

4. Identificadores de Log

Tanto o Firebase Cloud Messaging quanto 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 o TODO pelo código abaixo para registrar os identificadores necessários para o envio de 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. Envie a 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 para o 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. 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 de teste FIAM

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

  1. Verifique se o aplicativo está em segundo plano (vá para a tela inicial)
  2. Vá para o console do Firebase e selecione In-App Messaging 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. Reabrir aplicativo
  2. Observar na mensagem do aplicativo

7. Parabéns

Parabéns, você enviou mensagens FCM e FIAM com sucesso. 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