Acerca de este codelab
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 o segundo plano.
Requisitos previos
Ninguno
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
( ). Es el que se clonó 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 un archivo google-services.json que falta, no te preocupes. Se agregará en el siguiente paso.
3. Crea un proyecto de Firebase console
Agrega Firebase al proyecto
- Ve a Firebase console.
- Selecciona Agregar proyecto.
- Selecciona o ingresa un nombre para el proyecto.
- 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).
- En la pantalla de descripción general de tu proyecto nuevo, haz clic en el ícono de Android para iniciar el flujo de trabajo de configuración.
- 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, luego, 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 que se descargue el archivo, puedes hacer clic en Omitir para ver los próximos pasos que se muestran en la consola (ya se completaron 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 para usar Firebase. La dependencia del complemento google-services y el complemento en sí ya deberían estar agregados a los archivos de compilación del proyecto y de nivel 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 estar agregadas 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'
}
Cómo sincronizar tu proyecto con archivos de Gradle
Para asegurarte de que todas las dependencias estén disponibles para tu app, debes sincronizar tu proyecto con los archivos de Gradle en este punto. 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.
- En
MainActivity.kt
, reemplaza el TODO por 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)
}
}
- Conecta tu dispositivo Android y haz clic en Run (
) en la barra de herramientas de Android Studio. Si presionas el botón Log Identifiers, se registrarán el token de registro de FCM y el ID de instalaciones de Firebase en Logcat. El resultado debería verse así:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Envía un mensaje de prueba de FCM
Los mensajes de FCM se pueden enviar desde Firebase console y desde 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 aquellos que se muestran en el área de notificaciones del sistema. Para enviar un mensaje de prueba de FCM, haz lo siguiente:
- Asegúrate de que la app esté en segundo plano (ve a la pantalla principal)
- Ve a Firebase console y selecciona Cloud Messaging en el panel de navegación de la izquierda.
- Selecciona Envía tu primer mensaje.
- Agrega un título y un cuerpo para el mensaje y, luego, haz clic en Enviar mensaje de prueba.
- Agrega el token de registro de FCM y, luego, haz clic en probar.
- Observa la notificación en el dispositivo
- Si presionas la notificación, se abrirá la app.
6. Envía un mensaje de prueba de FIAM
Firebase In-App Messaging se puede activar como resultado de una variedad de eventos del usuario. El mensaje de prueba usa el evento de apertura de la app para activar el mensaje en la app. Para enviar un mensaje de FIAM de prueba, haz lo siguiente:
- Asegúrate de que la app esté en segundo plano (ve a la pantalla principal)
- Ve a Firebase console y selecciona In-App Messaging en el panel de navegación izquierdo.
- Selecciona Create your first campaign.
- Selecciona la campaña de banner superior y, luego, ingresa el título y el cuerpo del mensaje.
- Haz clic en Probar en el dispositivo.
- Agrega el ID de instalaciones y haz clic en Probar.
- Cómo volver a abrir la app
- Observa el mensaje en la app
7. Felicitaciones
Felicitaciones, enviaste correctamente los mensajes de FCM y FIAM. Ahora sabes cómo interactuar con tus usuarios, ya sea que usen tu app en primer o segundo plano.
Lecturas adicionales
Próximos pasos
- Envía mensajes a los usuarios en tu propia app para Android.