Cloud Functions brinda a los desarrolladores acceso a eventos de Firebase y Google Cloud, junto con potencia informática escalable para ejecutar código en respuesta a esos eventos. Si bien se espera que las aplicaciones de Firebase usen Cloud Functions de formas únicas para cumplir con sus requisitos únicos, los casos de uso típicos pueden caer en estas áreas:
- Notifica a los usuarios cuando suceda algo interesante .
- Realizar el saneamiento y mantenimiento de la base de datos .
- Ejecute tareas intensivas en la nube en lugar de en su aplicación .
- Integre con servicios y API de terceros .
Revise los casos de uso y los ejemplos de cada categoría que le interese y luego continúe con nuestro tutorial de introducción o con las guías prácticas específicas para eventos de autenticación, eventos de análisis y más.
Notificar a los usuarios cuando suceda algo interesante
Los desarrolladores pueden usar Cloud Functions para mantener a los usuarios interesados y actualizados con información relevante sobre una aplicación. Considere, por ejemplo, una aplicación que permite a los usuarios seguir las actividades de los demás en la aplicación. Cada vez que un usuario se agrega como seguidor de otro usuario, se produce una escritura en Realtime Database. Luego, este evento de escritura podría activar una función para crear notificaciones de Firebase Cloud Messaging (FCM) para que los usuarios apropiados sepan que han obtenido nuevos seguidores.
- La función se activa al escribir en la ruta de Realtime Database donde se almacenan los seguidores.
- La función redacta un mensaje para enviar a través de FCM .
- FCM envía el mensaje de notificación al dispositivo del usuario.
Para revisar el código de trabajo, consulte Enviar notificaciones de FCM .
Otros casos de uso de notificaciones interesantes
- Enviar correos electrónicos de confirmación a los usuarios que se suscriban o se den de baja de un boletín informativo .
- Envíe un correo electrónico de bienvenida cuando un usuario complete el registro .
- Envía un SMS de confirmación cuando un usuario crea una nueva cuenta.
Realizar la limpieza y el mantenimiento de la base de datos.
Con el manejo de eventos de la base de datos de Cloud Functions, puede modificar Realtime Database o Cloud Firestore en respuesta al comportamiento del usuario, manteniendo el sistema actualizado y limpio. Por ejemplo, en una aplicación de sala de chat, puede monitorear los eventos de escritura y borrar el texto inapropiado o profano de los mensajes de los usuarios. Así es como podría funcionar:
- El controlador de eventos de la base de datos de la función escucha eventos de escritura en una ruta específica y recupera datos de eventos que contienen el texto de cualquier mensaje de chat.
- La función procesa el texto para detectar y borrar cualquier lenguaje inapropiado.
- La función vuelve a escribir el texto actualizado en la base de datos.
Para revisar el código de trabajo, consulte el ejemplo de moderación de texto . Esta muestra elimina el lenguaje inapropiado y los "gritos" en mayúsculas en los mensajes de chat.
Otros casos de uso de sanitización y mantenimiento de bases de datos
- Purgue el contenido de un usuario eliminado de Realtime Database .
- Limite la cantidad de nodos secundarios en una base de datos de Firebase .
- Realice un seguimiento del número de elementos en una lista de Realtime Database .
- Copie datos de Realtime Database a Google Cloud BigQuery .
- Convierte texto en emoji.
- Administre los metadatos calculados para los registros de la base de datos.
Ejecute tareas intensivas en la nube en lugar de en su aplicación
Los desarrolladores pueden aprovechar las funciones de la nube para descargar en la nube de Google el trabajo que requiere muchos recursos (una gran cantidad de CPU o redes) que no sería práctico ejecutar en el dispositivo de un usuario. Por ejemplo, podría escribir una función para escuchar cargas de imágenes en Cloud Storage, descargar la imagen en la instancia que ejecuta la función, modificarla y volver a cargarla en Cloud Storage. Sus modificaciones podrían incluir cambiar el tamaño, recortar o convertir imágenes. Las herramientas de línea de comandos de ImageMagick se proporcionan para usar con Cloud Functions para facilitar este trabajo.
- Una función se activa cuando se carga un archivo de imagen en Cloud Storage.
- La función descarga la imagen y crea una versión en miniatura de la misma.
- La función escribe esa ubicación en miniatura en la base de datos, para que una aplicación cliente pueda encontrarla y usarla.
- La función vuelve a cargar la miniatura en Cloud Storage en una nueva ubicación.
- La aplicación descarga el enlace de la miniatura.
Para ver un tutorial de un ejemplo de procesamiento de imágenes, consulte Manejo de eventos de almacenamiento .
Otros ejemplos de trabajos por lotes en la nube de Firebase
- Elimine periódicamente las cuentas de Firebase no utilizadas .
- Modere automáticamente las imágenes subidas .
- Enviar correo electrónico masivo a los usuarios.
- Agregue y resuma los datos periódicamente.
- Procesar una cola de trabajo pendiente.
Integre con servicios y API de terceros
Cloud Functions puede ayudar a que su aplicación funcione mejor con otros servicios llamando y exponiendo las API web. Por ejemplo, una aplicación utilizada para la colaboración en el desarrollo podría publicar confirmaciones de GitHub en una sala de chat de un grupo de trabajo.
- Un usuario envía confirmaciones a un repositorio de GitHub.
- Una función HTTPS se activa a través de la API de webhook de GitHub .
- La función envía una notificación de la confirmación a un canal de Slack del equipo.
Otras formas de integración con servicios y API de terceros
- Use la API de Google Cloud Vision para analizar y etiquetar las imágenes cargadas.
- Traducir mensajes usando Google Translate .
- Use proveedores de autenticación como LinkedIn o Instagram para iniciar sesión en los usuarios.
- Envíe una solicitud a un webhook en las escrituras de Realtime Database .
- Habilite la búsqueda de texto completo en los elementos de la base de datos en tiempo real .
- Procesar los pagos de los usuarios .
- Cree respuestas automáticas a llamadas telefónicas y mensajes SMS.
- Crea un chatbot con el Asistente de Google .