Extensiones de Firebase

Las Extensiones de Firebase te ayudan a implementar funcionalidades en tu app rápidamente con soluciones ya empaquetadas.

Una vez instalada, una extensión de Firebase realiza una tarea o un conjunto de tareas específicos en respuesta a solicitudes HTTP, eventos de Cloud Scheduler o activadores de otros productos de Firebase, como Cloud Firestore o Firebase Cloud Messaging.

Explora el Centro de extensiones Más información para instalar una extensión Más información para crear tu propia extensión

Funciones clave

Reduce el tiempo dedicado al desarrollo, mantenimiento y crecimiento

Dado que una extensión es una solución empaquetada, solo tienes que instalarla y configurarla.

Con las extensiones, no tienes que invertir tiempo en investigar, escribir y depurar el código que implementa la funcionalidad o automatiza una tarea para tu app o proyecto.

Explora el Centro de extensiones para encontrar soluciones para tu app o proyecto.

Compiladas para ser configurables y reutilizables

Cada instancia de una extensión instalada es única.

Debes especificar valores de configuración de la extensión que sean únicos para tu app, proyecto o caso de uso. Según lo que haga la extensión, estos valores podrían ser casi cualquier cosa: una ruta de Cloud Firestore, dimensiones de imagen o una URL de GitHub.

Puedes volver a usar la misma extensión en diferentes proyectos. Incluso puedes instalar varias instancias de la misma extensión en un solo proyecto. Cada instancia instalada puede tener su propia configuración personalizada.

Integra la plataforma de Firebase

Las extensiones pueden llenar esa parte faltante de tu arquitectura.

Las extensiones pueden responder a eventos generados por los productos de Firebase que ya usas en tu app. Un cambio en un producto de Firebase puede ser el activador para que una extensión realice su tarea, incluso una que utilice otro producto. Por ejemplo, una escritura específica de Realtime Database puede activar el envío de una nueva notificación de Firebase Cloud Messaging.

Una extensión también puede integrar tu proyecto de Firebase a otros productos de Google Cloud Platform (como BigQuery y Google Traductor) o incluso servicios de terceros (como Mailchimp y Bit.ly).

Además, los eventos de activación no se limitan a los eventos de Firebase; incluso puedes activar una extensión directamente con una solicitud HTTPS o en un intervalo programado.

Seguridad y acceso limitado

La lógica de aplicación para las extensiones se ejecuta en el backend con Google Cloud Functions, por lo que el código está completamente aislado del cliente.

Además, las extensiones se aíslan del resto del proyecto, ya que a las extensiones instaladas solo se les otorga acceso limitado a los recursos y datos que se indican claramente antes de la instalación.

No requieren mantenimiento

Instala y configura una extensión para tu proyecto de Firebase. Después de eso, el backend realiza ajustes automáticos de la escala de los recursos de procesamiento para satisfacer las necesidades de la extensión.

No tendrás que preocuparte por las credenciales, la configuración de servidores, el aprovisionamiento de servidores nuevos ni por sacar de servicio los servidores antiguos.

¿Cómo funciona?

En esencia, una extensión de Firebase es un código que realiza una tarea cada vez que ocurre un evento definido específicamente en tu app o proyecto.

La lógica de una extensión se escribe con Cloud Functions para Firebase. Las funciones de una extensión definen los proveedores de eventos y las condiciones que activan la ejecución (por ejemplo, una operación de escritura de Cloud Firestore, una solicitud HTTPS o un evento de Cloud Scheduler).

Aunque las extensiones usan funciones, una diferencia clave entre las extensiones y las funciones es que una extensión se basa en un archivo de especificación extension.yaml, el cual define de forma explícita lo siguiente:

  • Los servicios de Google (API) que usará la extensión
  • Las funciones de acceso que requiere la extensión para funcionar
  • Los recursos específicos que la extensión requiere para funcionar
  • Los parámetros configurables para la extensión

Puedes instalar una extensión en un proyecto varias veces. Cada instancia instalada tiene una configuración diferente.

Cuando instalas una instancia de una extensión, Firebase hace lo siguiente:

  1. Te solicita que especifiques los valores de configuración necesarios (parámetros) que se usarán en esta instancia de la extensión.
  2. Habilita las API enumeradas en el archivo extension.yaml para el proyecto.
  3. Crea una nueva cuenta de servicio para que la use esta instancia de la extensión y le asigna las funciones de acceso enumeradas. La instancia de la extensión ejecuta su código con el acceso otorgado a esta cuenta de servicio.
  4. Aprovisiona los recursos enumerados para la instancia de la extensión (por ejemplo, una función).

Ten en cuenta que cada instancia instalada de una extensión tiene su propia cuenta de servicio y recursos aprovisionados de forma individual.

Además del archivo extension.yaml, el directorio de extensiones también incluye archivos de instrucciones, como README, que contienen información para ayudarte a completar tareas de configuración adicionales o a utilizar la extensión en general.

Después de la instalación, puedes volver a configurar una extensión (especificar valores de parámetros nuevos) y actualizar una extensión a una versión más reciente. También puedes desinstalar una extensión de tu proyecto en cualquier momento.

Firebase CLI y Firebase console te permiten instalar, ver y administrar extensiones.

Ruta de implementación

Buscar una extensión

Explora las extensiones disponibles en el Centro de extensiones.

Evaluar, instalar y configurar una extensión

Cuando encuentres una extensión que resuelva una necesidad en tu app o proyecto, podrás evaluarla con el emulador de extensiones y, luego, instalarla mediante el Firebase console o Firebase CLI.

Configura la extensión a fin de que esté personalizada para tu app o proyecto.

Administrar la extensión

Visualiza y administra la extensión instalada con Firebase console o Firebase CLI.

Próximos pasos