Usa FCM y FIAM para enviar mensajes a los usuarios

1. Antes de comenzar

En este laboratorio de código, aprenderá a agregar la capacidad de interactuar con los usuarios, ya sea que estén usando su aplicación en primer plano o en segundo plano.

206c7ecece550bde.png

requisitos previos

Ninguna

lo que aprenderás

  • Agregue Firebase a su aplicación de Android
  • Agregar dependencias FCM y FIAM
  • Envía un mensaje de FCM de prueba a tu aplicación
  • Envía un mensaje FIAM de prueba a tu aplicación

Lo que necesitarás

  • Estudio Android 4.1
  • dispositivo Android o emulador

2. Empezar

Obtener el código de muestra

Clona el repositorio de GitHub desde la línea de comando:

Importar la aplicación de inicio

Desde Android Studio, seleccione el codelab-fcm-and-fiam ( carpeta_estudio_de_android.png ). Sería el clonado en el paso anterior ( Archivo > Abrir > .../codelab-fcm-and-fiam).

Ahora debería tener el proyecto FcmAndFiam abierto en Android Studio. Si ve una advertencia sobre la falta de un archivo google-services.json, no se preocupe. Se agregará en el siguiente paso.

3. Crear proyecto de consola de Firebase

Agregar Firebase al proyecto

  1. Ve a la consola de Firebase .
  2. Seleccione Agregar proyecto .
  3. Seleccione o ingrese un nombre de proyecto.
  4. Siga los pasos de configuración restantes en la consola de Firebase, luego haga clic en Crear proyecto (o Agregar Firebase, si está usando un proyecto de Google existente).
  5. Desde la pantalla de descripción general de su nuevo proyecto, haga clic en el icono de Android para iniciar el flujo de trabajo de configuración.
  6. Ingrese el nombre del paquete del codelab: com.google.firebase.codelab.fcmandfiam

Agregue el archivo google-services.json a su aplicación

Después de agregar el nombre del paquete, haga clic en Registrar aplicación y luego Descargar google-services.json para obtener su archivo de configuración de Firebase Android y luego copie el archivo google-services.json en el directorio de la app en su proyecto. Después de descargar el archivo, puede hacer clic en Omitir para seguir los siguientes pasos que se muestran en la consola (ya se han realizado en el proyecto build-android-start).

Agregue el complemento de servicios de Google a su aplicación

El complemento de google-services usa el archivo google-services.json para configurar su aplicación para usar Firebase. La dependencia del complemento de servicios de Google y el complemento en sí ya deberían agregarse a los archivos de compilación de nivel de proyecto y aplicación, respectivamente. Confirme las siguientes entradas:

construir.gradle

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

aplicación/construir.gradle

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

Agregar dependencias

FCM y FIAM requieren las siguientes dependencias. Estas dependencias ya deberían agregarse al archivo de compilación del nivel de la aplicación. Confirme que se agregan las siguientes dependencias:

aplicación/construir.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 gradle

Para asegurarse de que todas las dependencias estén disponibles para su aplicación, debe sincronizar su proyecto con archivos gradle en este punto. Seleccione Archivo > Proyecto de sincronización con archivos Gradle 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 aplicaciones. FCM usa un token de registro y FIAM usa una ID de instalación.

  1. En MainActivity.kt reemplace TODO con el siguiente código para 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. Conecte su dispositivo Android y haga clic en Ejecutar ( ejecutar.png ) en la barra de herramientas de Android Studio. Al tocar el botón Identificadores de registro, se registrará el token de registro de FCM y el ID de instalación de Firebase en logcat. La salida debería verse así:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Enviar mensaje de FCM de prueba

Los mensajes de FCM se pueden enviar tanto desde Firebase console como desde la API 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 aquellos que se muestran en el área de notificación del sistema. Envíe un mensaje de FCM de prueba por:

  1. Asegúrese de que la aplicación esté en segundo plano (vaya a la pantalla de inicio)
  2. Vaya a Firebase console y seleccione Cloud Messaging en la barra de navegación de la izquierda
  3. Seleccione Enviar su primer mensaje
  4. Agregue un título y cuerpo para el mensaje, luego haga clic en Enviar mensaje de prueba

207ced65f5245ada.png

  1. Agregue el token de registro de FCM, luego haga clic en probar

f3556c6a8a6453fe.png

  1. Observe la notificación de visualización en el dispositivo
  2. Al tocar la notificación, se abre la aplicación.

6. Enviar mensaje de prueba FIAM

Firebase In App Messaging se puede activar como resultado de una variedad de eventos del usuario. El mensaje de prueba utiliza el evento de apertura de la aplicación para activar el mensaje en la aplicación. Envíe un mensaje FIAM de prueba por:

  1. Asegúrese de que la aplicación esté en segundo plano (vaya a la pantalla de inicio)
  2. Vaya a Firebase console y seleccione In-App Messaging en la barra de navegación de la izquierda
  3. Seleccione Crear su primera campaña
  4. Seleccione la campaña de banner principal e ingrese el título y el cuerpo del mensaje
  5. Haga clic en Probar en el dispositivo

69f6ea5eff240d1.png

  1. Agregue ID de instalación y haga clic en Prueba

24b101edfab47144.png

  1. Reabrir aplicación
  2. Observar en el mensaje de la aplicación

7. Felicitaciones

Enhorabuena, ha enviado correctamente los mensajes de FCM y FIAM. Ahora sabe cómo interactuar con sus usuarios, ya sea que estén usando su aplicación en primer plano o en segundo plano.

Otras lecturas

Que sigue

  • Envíe mensajes a los usuarios en su propia aplicación de Android.

Documentos de referencia