Usa FCM y FIAM para enviar mensajes a los usuarios.

1. Antes de comenzar

En este codelab, aprenderás a agregar la capacidad de interactuar con los usuarios, ya sea que usen tu app en primer plano o en segundo plano.

206c7ecece550bde.png

Requisitos previos

Ninguna

Qué aprenderás

  • Agrega Firebase a tu app para Android
  • Agrega dependencias de FCM y FIAM
  • Envía un mensaje de prueba de FCM a tu app
  • Envía un mensaje de prueba de FIAM a tu app

Requisitos

  • Android Studio 4.1
  • Emulador o dispositivo Android

2. Comenzar

Obtén el código de muestra

Clona el repositorio de GitHub a partir de la línea de comandos:

Importa la app de partida

En Android Studio, selecciona el directorio codelab-fcm-and-fiam ( carpeta_android_studio.png). Será el clonado en el paso anterior (File > Open > .../codelab-fcm-and-fiam).

Ahora, deberías tener el proyecto FcmAndFiam abierto en Android Studio. Si ves una advertencia sobre la falta del archivo google-services.json, no te preocupes. Se agregará en el siguiente paso.

3. Crea un proyecto de Firebase console

Agrega Firebase al proyecto

  1. Dirígete a Firebase console.
  2. Selecciona Agregar proyecto.
  3. Selecciona o ingresa un nombre de proyecto.
  4. Sigue los pasos de configuración restantes en Firebase console y, luego, haz clic en Crear proyecto (o Agregar Firebase, si usas un proyecto de Google existente).
  5. En la pantalla de descripción general del proyecto nuevo, haz clic en el ícono de Android para iniciar el flujo de trabajo de configuración.
  6. Ingresa el nombre del paquete del codelab: com.google.firebase.codelab.fcmandfiam

Agrega el archivo google-services.json a tu app

Después de agregar el nombre del paquete, haz clic en Registrar app y descargar google-services.json para obtener el archivo de configuración de Firebase para Android. Luego, copia el archivo google-services.json en el directorio app de tu proyecto. Una vez descargado el archivo, puedes hacer clic en Skip para los próximos pasos que se muestran en la consola (ya se realizaron en el proyecto build-android-start).

Agrega el complemento google-services a tu app

El complemento google-services usa el archivo google-services.json para configurar tu aplicación de modo que use Firebase. La dependencia del complemento google-services y el complemento ya deberían estar agregados a los archivos de compilación a nivel del proyecto y de la app, respectivamente. Confirma las siguientes entradas:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

Agrega dependencias

FCM y FIAM requieren las siguientes dependencias. Estas dependencias ya deberían agregarse al archivo de compilación a nivel de la app. Confirma que se hayan agregado las siguientes dependencias:

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'
}

Sincroniza tu proyecto con archivos de Gradle.

A fin de asegurarte de que todas las dependencias estén disponibles para tu app, debes sincronizar tu proyecto con archivos de Gradle en este momento. Selecciona File > Sync Project with Gradle Files en la barra de herramientas de Android Studio.

4. Identificadores de registro

Firebase Cloud Messaging y Firebase In App Messaging usan identificadores para enviar mensajes a las apps. FCM usa un token de registro y FIAM usa un ID de instalación.

  1. En MainActivity.kt, reemplaza el comentario TODO con el siguiente código a fin de registrar los identificadores necesarios para enviar mensajes:
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. Conecta el dispositivo Android y haz clic en Run ( ejecutar.png) en la barra de herramientas de Android Studio. Presiona el botón Log Identifiers para registrar el token de registro de FCM y el ID de instalación de Firebase en logcat. El resultado debería verse así:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Enviar mensaje de prueba de FCM

Los mensajes de FCM se pueden enviar desde Firebase console y la API de REST de FCM. En este codelab, redactaremos un mensaje de notificación de FCM y lo enviaremos a nuestro dispositivo. Los mensajes de notificación son los que se muestran en el área de notificaciones del sistema. Envía un mensaje de prueba de FCM de la siguiente manera:

  1. Asegúrate de que la app esté en segundo plano (ir a la pantalla principal)
  2. Ve a Firebase console y selecciona Cloud Messaging en el panel de navegación izquierdo
  3. Selecciona Envía tu primer mensaje.
  4. Agrega un título y un cuerpo para el mensaje y, luego, haz clic en Enviar mensaje de prueba.

207ced65f5245ada.png

  1. Agrega el token de registro de FCM y, luego, haz clic en test.

f3556c6a8a6453fe.png

  1. Observa la notificación en pantalla del dispositivo
  2. Si presionas la notificación, se abrirá la app

6. Enviar mensaje de prueba FIAM

Firebase In App Messaging se puede activar como resultado de diversos eventos de usuarios. El mensaje de prueba usa el evento de inicio de aplicación para activar el mensaje desde la app. Envía un mensaje de FIAM de prueba de la siguiente manera:

  1. Asegúrate de que la app esté en segundo plano (ir a la pantalla principal)
  2. Ve a Firebase console y selecciona In-App Messaging en el panel de navegación izquierdo
  3. Selecciona Crear tu primera campaña.
  4. Selecciona la campaña de banner superior y, luego, ingresa el título y el cuerpo del mensaje
  5. Haz clic en Probar en el dispositivo.

69f6ea5efff240d1.png

  1. Agrega el ID de instalación y haz clic en Probar.

24b101edfab47144.png

  1. Volver a abrir la app
  2. Observar mensaje en la app

7. ¡Felicitaciones!

Felicitaciones, enviaste correctamente los mensajes de FCM y FIAM. Ahora ya sabes cómo interactuar con los usuarios, ya sea que usen tu aplicación en primer plano o su aplicación en segundo plano.

Lecturas adicionales

¿Qué sigue?

  • Envía mensajes a usuarios en tu propia app para Android.

Documentos de referencia