¿Qué puedo hacer con Cloud Functions?

Cloud Functions permite que los programadores accedan a eventos de Firebase y Google Cloud y brinda la capacidad de procesamiento escalable para ejecutar código en respuesta a esos eventos. Si bien se espera que las apps de Firebase usen Cloud Functions de formas únicas para satisfacer sus necesidades exclusivas, los casos de uso típicos se clasifican en las siguientes áreas:

Revisa los casos de uso y los ejemplos de cada categoría que te interese y, luego, procede a nuestro instructivo para cómo comenzar o a las guías de instrucciones específicas para eventos de autenticación, eventos de análisis y más.

Notifica a los usuarios cuando ocurre algo interesante

Los programadores pueden usar Cloud Functions para mantener a los usuarios interesados y actualizados con información relevante sobre la app. Por ejemplo, considera una app que les permite a los usuarios seguir las actividades de otras personas en la app. En una aplicación de este tipo, una función que se activa cuando se escribe en Realtime Database para almacenar seguidores nuevos podría generar notificaciones de Firebase Cloud Messaging (FCM) para informarles a los usuarios correspondientes que tienen seguidores nuevos.

  1. La función se activa cuando se escribe en la ruta de acceso de Realtime Database donde se almacenan los seguidores.
  2. La función crea un mensaje para enviarlo a través de FCM.
  3. FCM envía el mensaje de notificación al dispositivo del usuario.

Para revisar el código en funcionamiento, consulta Cómo enviar notificaciones de FCM.

Otros casos de uso de notificaciones interesantes

Ejecuta limpieza y mantenimiento de Realtime Database

Con la administración de eventos de base de datos de Cloud Functions, puedes modificar Realtime Database en respuesta al comportamiento del usuario a fin de mantener el sistema actualizado y limpio. Por ejemplo, en una app de salas de chat compilada en Realtime Database, podrías supervisar los eventos de escritura y quitar el texto inapropiado o las groserías de los mensajes de los usuarios. Podrías hacerlo de esta manera:

  1. El controlador de eventos de la base de datos de la función detecta eventos de escritura en una ruta de acceso específica y recupera datos del evento con el texto de los mensajes de chat.
  2. La función procesa el texto para detectar y quitar el lenguaje inapropiado.
  3. La función vuelve a escribir el texto actualizado en la base de datos.

Para revisar el código en funcionamiento, consulta la muestra Moderación de texto. Esta muestra limpia el lenguaje inapropiado y los "gritos" en mayúsculas en los mensajes de chat.

Otros casos de uso de Realtime Database para limpieza y mantenimiento

Ejecuta tareas intensivas en la nube en lugar de en la app

Los programadores pueden aprovechar Cloud Functions para descargar a la nube de Google el trabajo que requiere una gran cantidad de recursos (uso intensivo de CPU o de la red) y que no sería práctico ejecutar en el dispositivo de un usuario. Por ejemplo, podrías escribir una función que detecte cuando se suben imágenes a Storage, descargue la imagen a la instancia que ejecuta la función, la modifique y vuelva a subirla a Storage. Las modificaciones podrían incluir modificar el tamaño, recortar o convertir imágenes. Las herramientas de línea de comandos de ImageMagick se proporcionan para usarlas con Cloud Functions y facilitar este trabajo.

  1. Una función se activa cuando un archivo de imagen se sube a Storage.
  2. La función descarga la imagen y crea una versión en miniatura.
  3. La función escribe la ubicación de esa miniatura en la base de datos, de manera que una app cliente pueda encontrarla y usarla.
  4. La función vuelve a subir la miniatura a Storage en una ubicación nueva.
  5. La app descarga el vínculo de la miniatura.

Para obtener una explicación de un ejemplo de procesamiento de imágenes, consulta Cómo administrar eventos de Storage.

Otros ejemplos de trabajos por lote en la nube de Firebase

Realiza integraciones con API y servicios de terceros

Cloud Functions puede ayudar a que tu app funcione mejor con otros servicios a través de llamadas y muestras de API web. Por ejemplo, una app que se usa para la programación colaborativa podría publicar confirmaciones de GitHub en la sala de chat de un grupo de trabajo.

  1. Un usuario envía confirmaciones a un repositorio de GitHub.
  2. Una función HTTPS se activa a través a través de la API de webhook de GitHub.
  3. La función envía una notificación de la confirmación a un canal del equipo en Slack.

Otras maneras de integrar con API y servicios de terceros

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.