Extensiones de base de fuego

Las extensiones de Firebase te ayudan a implementar funcionalidades en tu aplicación rápidamente con soluciones empaquetadas.

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

Explore Extensions Hub Aprenda cómo instalar una extensión Aprenda a crear su propia extensión

Capacidades clave

Reducir el tiempo dedicado al desarrollo, mantenimiento y crecimiento.

Dado que una extensión es una solución empaquetada, todo lo que debe hacer es instalar y configurar la extensión.

Con las extensiones, no pierdes tiempo investigando, escribiendo y depurando el código que implementa la funcionalidad o automatiza una tarea para tu aplicación o proyecto.

Explore Extensions Hub para encontrar soluciones para su aplicación o proyecto.

Diseñado para ser configurable y reutilizable

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

Usted especifica valores de configuración para la extensión que son únicos para su aplicación, proyecto o caso de uso. Dependiendo de lo que haga la extensión, estos valores podrían ser casi cualquier cosa: una ruta de Cloud Firestore, dimensiones de la imagen o una URL de GitHub.

Puedes reutilizar 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 Firebase

Las extensiones pueden llenar esa pieza faltante de su arquitectura existente.

Las extensiones pueden responder a eventos generados por los productos de Firebase que ya usas en tu aplicación. Un cambio en un producto de Firebase puede hacer que una extensión realice su tarea, incluso una tarea que utilice otro producto. Por ejemplo, una escritura específica en una base de datos en tiempo real puede desencadenar el envío de una nueva notificación de Firebase Cloud Messaging.

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

Y los eventos desencadenantes no se limitan a los eventos de Firebase; incluso puede activar una extensión directamente con una solicitud HTTPS o en un intervalo programado.

Seguridad y acceso limitado

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

Además, las extensiones en sí están aisladas del resto de su proyecto porque a una extensión instalada se le otorga acceso limitado solo a los recursos y datos que se enumeran claramente antes de la instalación.

Mantenimiento cero

Instale y configure una extensión para su proyecto de Firebase. Después de eso, el backend aumenta y reduce automáticamente los recursos informáticos para satisfacer las necesidades de su extensión.

Nunca tendrá que preocuparse por las credenciales, la configuración del servidor, el aprovisionamiento de nuevos servidores o el desmantelamiento de los antiguos.

¿Como funciona?

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

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

Aunque las extensiones usan funciones, una característica diferenciadora clave entre extensiones y funciones es que una extensión se basa en un archivo de especificación extension.yaml , que define explícitamente:

  • Los servicios de Google (API) que utilizará la extensión
  • Los roles de acceso que la extensión requiere para operar
  • Los recursos específicos de la extensión que la extensión requiere para funcionar.
  • Los parámetros configurables para la extensión.

Puede instalar una extensión en un proyecto varias veces y cada instancia instalada tendrá una configuración diferente.

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

  1. Le solicita que especifique los valores de configuración (parámetros) necesarios que se utilizarán para esta instancia de la extensión.
  2. Habilita las API enumeradas desde el archivo extension.yaml para el proyecto.
  3. Crea una nueva cuenta de servicio para ser utilizada por esta instancia de la extensión y le asigna los roles de acceso enumerados. La instancia de extensión ejecuta su código utilizando el acceso otorgado a esta cuenta de servicio.
  4. Aprovisiona los recursos enumerados para la instancia de extensión (por ejemplo, una función).

Tenga en cuenta que cada instancia instalada de una extensión tiene su propia cuenta de servicio y recursos aprovisionados individualmente.

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

Después de la instalación, puede reconfigurar una extensión (especificar nuevos valores de parámetros), así como actualizar una extensión a una versión más nueva. También puedes desinstalar una extensión de tu proyecto en cualquier momento.

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

Ruta de implementación

Encuentra una extensión

Explore las extensiones disponibles en Extensions Hub .

Evaluar, instalar y configurar una extensión

Cuando encuentre una extensión que resuelva una necesidad en su aplicación o proyecto, puede evaluar la extensión con el emulador de Extensions y luego instalar la extensión a través de Firebase console o Firebase CLI .

Configure la extensión para que esté personalizada para su aplicación o proyecto.

Administrar la extensión

Vea y administre la extensión instalada mediante Firebase console o Firebase CLI .

Próximos pasos