Usar o FCM e as Mensagens no app 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, seja quando eles estão usando seu app em primeiro plano ou quando ele está 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

Acessar o 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 é o que foi clonado na etapa anterior (File > Open > .../codelab-fcm-and-fiam).

Agora o projeto FcmAndFiam vai estar aberto no Android Studio. Não se preocupe se você receber um aviso sobre a falta de um arquivo google-services.json. Ela será adicionada na próxima etapa.

3. Configurar um projeto do Firebase e o app para usar o Firebase

Criar um projeto do Firebase

  1. Faça login no console do Firebase usando sua Conta do Google.
  2. Clique no botão para criar um projeto e insira um nome (por exemplo, Send messages codelab).
  3. Clique em Continuar.
  4. Se solicitado, leia e aceite os Termos do Firebase e clique em Continuar.
  5. (Opcional) Ative a assistência de IA no console do Firebase (chamada de "Gemini no Firebase").
  6. Neste codelab, você precisa do Google Analytics para usar os produtos do Firebase da melhor forma. Portanto, mantenha a ativação na opção do Google Analytics. Siga as instruções na tela para configurar o Google Analytics.
  7. Clique em Criar projeto, aguarde o provisionamento e clique em Continuar.

Adicionar o Firebase ao app

  1. Na tela de visão geral do novo projeto, clique no ícone do Android para iniciar o fluxo de trabalho de configuração.
  2. Insira o nome do pacote do codelab: com.google.firebase.codelab.fcmandfiam
  3. Depois de adicionar o nome do pacote, clique em Registrar app e depois em Fazer o download do google-services.json para receber o arquivo de configuração do Firebase para Android. Em seguida, copie o arquivo google-services.json para o diretório app no seu projeto. Depois que o arquivo for baixado, clique em Pular para as próximas etapas mostradas no console. Elas já foram realizadas para você no projeto build-android-start.
  4. Adicione o plug-in google-services ao seu 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á 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 seguintes dependências. Essas dependências já devem estar adicionadas ao arquivo de build no nível 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'
}

Sincronize seu projeto com arquivos do Gradle

Para garantir que todas as dependências estejam disponíveis para seu 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 registros

O Firebase Cloud Messaging e o Firebase In-App Messaging usam identificadores para enviar mensagens aos apps. O FCM usa um token de registro, e as FIAMs usam 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 Executar ( execute.png) na barra de ferramentas do Android Studio. Ao tocar no botão Registrar identificadores, o token de registro do FCM e o ID das instalações do Firebase serão 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 pelo Console do Firebase e pela API REST do FCM. Neste codelab, vamos criar uma mensagem de notificação do FCM e enviá-la ao nosso dispositivo. As mensagens de notificação são aquelas que aparecem na área de notificações do sistema. Envie uma mensagem de teste do FCM fazendo o seguinte:

  1. Verifique 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 testar.

f3556c6a8a6453fe.png

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

6. Enviar mensagem FIAM de teste

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 app para acionar a mensagem no app. Envie uma mensagem de teste da FIAM:

  1. Verifique se o app está em segundo plano (acesse a tela inicial)
  2. Acesse o console do Firebase e selecione "Mensagens no app" na navegação à esquerda.
  3. Selecione Crie sua primeira campanha.
  4. Selecione a campanha de banner na parte 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 o app
  2. Observar mensagem no app

7. Parabéns

Parabéns! Você enviou mensagens do FCM e das Mensagens no app. Agora você sabe como interagir com seus usuários, seja quando eles estão usando o app em primeiro plano ou quando ele está em segundo plano.

Leia mais

Próximas etapas

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

Documentos de referência