Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

¿Qué puedo hacer con Cloud Functions?

Cloud Functions permite que los desarrolladores 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 prácticos típicos se clasifican en las siguientes áreas:

Revisa los casos prácticos y ejemplos de cada categoría que te interese y, luego, continúa con nuestro instructivo Primeros pasos o con las guías de instrucciones específicas para eventos de autenticación, eventos de estadísticas y mucho más. Consulta la referencia de la API de eventType para obtener una lista completa de los tipos de eventos compatibles.

Notifica a los usuarios cuando ocurre algo interesante

Los desarrolladores 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. Cada vez que un usuario se agregue como seguidor de otro, se escribirá algo en Realtime Database. Luego, este evento de escritura podría activar una función para crear notificaciones de Firebase Cloud Messaging (FCM) a fin de que los usuarios apropiados sepan que obtuvieron nuevos seguidores.

  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 redacta 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 prácticos de notificaciones interesantes

Ejecuta la limpieza y el mantenimiento de la base de datos

Con la administración de eventos de base de datos de Cloud Functions, puedes modificar Realtime Database o Cloud Firestore en respuesta al comportamiento del usuario a fin de mantener el sistema actualizado y limpio. Por ejemplo, en una app de salas de chat, podrías supervisar los eventos de escritura y quitar el texto inapropiado o el lenguaje obsceno 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 cualquier mensaje 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 prácticos de bases de datos para limpieza y mantenimiento

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

Los desarrolladores 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 Administra 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 de HTTPS se activa 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