Información general sobre el desarrollo de extensiones

Uno de los objetivos principales de Adobe Experience Platform Launch es crear un ecosistema abierto en el que los ingenieros que no pertenezcan al equipo de ingeniería principal de Platform Launch puedan exponer la funcionalidad adicional mediante Platform Launch. Esto se realiza mediante las extensiones de Reactor. Una vez que un usuario ha instalado una extensión en una propiedad de Platform Launch, la funcionalidad de dicha extensión queda disponible para que la utilicen todos los usuarios de la propiedad.

Este documento describe los componentes principales de los distintos tipos de extensión y proporciona vínculos a documentación adicional que le guiará en el proceso de desarrollo de la extensión.

Módulos de biblioteca

Los módulos de biblioteca son fragmentos de código reutilizable que proporciona una extensión y que se emiten dentro de la biblioteca de tiempo de ejecución de Platform Launch. Dependiendo de si está desarrollando una extensión web o una extensión Edge, los tipos de módulos disponibles y sus casos de uso variarán. Consulte las siguientes subsecciones para obtener una descripción general acerca de los módulos de cada tipo de extensión:

Módulos para extensiones web

En las extensiones web, las reglas se activan mediante eventos que pueden ejecutar acciones específicas si se cumple un conjunto determinado de condiciones. Consulte la descripción general del flujo de módulos en extensiones web para obtener más información.

Además de los módulos principales que proporciona Adobe, puede definir sus propios módulos de biblioteca en sus extensiones web:

NOTA

Para obtener más información sobre el formato requerido para implementar los módulos de biblioteca en las extensiones web, consulte la descripción general sobre el formato de los módulos.

Tipos de eventos

Un evento de regla es una actividad que debe producirse antes de que se active una regla.

Por ejemplo, una extensión podría proporcionar un tipo de evento de "gesto" que supervise la producción de un determinado gesto táctil o movimiento del ratón. Una vez que se produce el gesto, la lógica de evento activaría la regla.

Normalmente, los tipos de evento consisten en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración del evento, y (2) un módulo de biblioteca emitido dentro de la biblioteca de tiempo de ejecución de Platform Launch para interpretar la configuración y supervisar que se produzca una determinada actividad.

Más información

Tipos de condición

Las condiciones de regla siempre se evalúan después de que se haya producido un evento de regla. Todas las condiciones deben devolver el valor verdadero para que la regla pueda continuar el procesamiento. La excepción se produce cuando los usuarios colocan explícitamente condiciones en un bloque de "excepción", en cuyo caso todas las condiciones del bloque deben arrojar un valor falso para que la regla se pueda seguir procesando.

Por ejemplo, una extensión podría proporcionar un tipo de condición "la ventanilla contiene" en la que el usuario de Platform Launch podría especificar un selector CSS. Cuando la condición se evalúa en el sitio web del cliente, la extensión puede encontrar elementos que coincidan con el selector de CSS y devolver si alguno de ellos se incluye en la ventanilla del usuario.

Los tipos de condición suelen consistir en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración de la condición, y (2) un módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución de Platform Launch para interpretar la configuración y evaluar una condición.

Más información

Tipos de acción

Una acción de regla es algo que se realiza después de que se haya producido el evento de la regla y de que las condiciones hayan superado la evaluación.

Por ejemplo, una extensión podría proporcionar un tipo de acción "mostrar chat de asistencia" que puede mostrar un cuadro de diálogo de chat de asistencia técnica para ayudar a los usuarios con problemas para efectuar sus pagos.

Los tipos de acción suelen consistir en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración de la acción, y (2) un módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución Platform Launch para interpretar la configuración y realizar una acción.

Más información

Tipos de elementos de datos

Los elementos de datos son esencialmente alias de datos de una página, sin importar si dichos datos se encuentran en parámetros de cadenas de consulta, cookies, elementos DOM o en algún otro lugar. Las reglas pueden hacer referencia a un elemento de datos y este puede actuar como una abstracción para acceder a estos fragmentos de datos. Cuando la ubicación de los datos cambie en el futuro (por ejemplo, de innerHTML de un elemento DOM al valor de una variable de JavaScript), se puede volver a configurar un único elemento de datos y mantener sin cambios a todas las reglas que hacen referencia a dicho elemento de datos.

Un tipo de elemento de datos permite a los usuarios configurar los elementos de datos para acceder a un fragmento de datos de una manera determinada. Por ejemplo, una extensión podría proporcionar un tipo de elemento de datos "elemento de almacenamiento local" en el que el usuario de Platform Launch podría especificar un nombre de elemento de almacenamiento local. Cuando una regla hace referencia al elemento de datos, la extensión puede buscar el valor del elemento de almacenamiento local utilizando el nombre del elemento de almacenamiento local que el usuario proporcionó al configurar el elemento de datos.

Los tipos de elementos de datos suelen consistir en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración del elemento de datos, y (2) un módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución de Platform Launch para interpretar la configuración y recuperar fragmentos de datos.

Más información

Módulos compartidos

Un módulo compartido es un módulo que expone una extensión para que otra pueda acceder a él. Este puede ser un mecanismo muy útil para la comunicación entre extensiones. Por ejemplo, la extensión A puede cargar un fragmento de datos asincrónicamente y ponerlo a disposición de la extensión B mediante una promesa.

Los módulos compartidos se incluyen en la biblioteca incluso si nunca se les llama desde otras extensiones. Para no incrementar el tamaño de la biblioteca de manera innecesaria, debe tener cuidado con lo que expone como módulo compartido.

Los módulos compartidos no tienen componente de vista.

Más información

Módulos para extensiones de Edge

En las extensiones de Edge, las reglas se activan mediante comprobaciones de condiciones que luego ejecutan acciones específicas si se superan dichas comprobaciones. Consulte la descripción general del flujo de módulos en extensiones de Edge para obtener más información.

Puede definir sus propios módulos de biblioteca en las extensiones de Edge. Se pueden clasificar en los tipos siguientes:

NOTA

Para obtener más información sobre el formato requerido para implementar módulos de biblioteca en extensiones de Edge, consulte la descripción general del formato de los módulos.

Tipos de condición

Las condiciones de regla siempre se evalúan después de que se haya producido un evento de regla. Todas las condiciones deben devolver el valor verdadero para que la regla pueda continuar el procesamiento. La excepción se produce cuando los usuarios colocan explícitamente condiciones en un bloque de "excepción", en cuyo caso todas las condiciones del bloque deben arrojar un valor falso para que la regla se pueda seguir procesando.

Por ejemplo, una extensión podría proporcionar un tipo de condición "la ventanilla contiene" en la que el usuario de Platform Launch podría especificar un selector CSS. Cuando la condición se evalúa en el sitio web del cliente, la extensión puede encontrar elementos que coincidan con el selector de CSS y devolver si alguno de ellos se incluye en la ventanilla del usuario.

Los tipos de condición suelen consistir en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración de la condición, y (2) un módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución de Platform Launch para interpretar la configuración y evaluar una condición.

Más información

Tipos de acción

Una acción de regla es algo que se realiza después de que las condiciones de las reglas hayan superado la evaluación.

Por ejemplo, una extensión podría proporcionar un tipo de acción "mostrar chat de asistencia" que puede mostrar un cuadro de diálogo de chat de asistencia técnica para ayudar a los usuarios con problemas para efectuar sus pagos.

Los tipos de acción suelen consistir en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración de la acción, y (2) un módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución Platform Launch para interpretar la configuración y realizar una acción.

Más información

Tipos de elementos de datos

Los elementos de datos son esencialmente alias de datos de una página, independientemente de dónde se encuentren dichos datos dentro del evento que recibe el servidor. Las reglas pueden hacer referencia a un elemento de datos y este puede actuar como una abstracción para acceder a estos fragmentos de datos. Cuando la ubicación de los datos cambie en el futuro (por ejemplo, al cambiar la clave del evento que contiene el valor), se puede volver a configurar un único elemento de datos y mantener sin cambios a todas las reglas que hacen referencia a dicho elemento de datos.

Los tipos de elementos de datos suelen consistir en (1) una vista que se muestra dentro de la aplicación Platform Launch, que permite a los usuarios modificar la configuración del elemento de datos, y (2) un módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución de Platform Launch para interpretar la configuración y recuperar fragmentos de datos.

Más información

Configuración de extensión

La configuración de una extensión hace referencia a la manera en que recopila la configuración global de un usuario. Por ejemplo, considere una extensión que permita al usuario enviar una señalización mediante la acción Enviar señalización y tenga en cuenta que la señalización siempre debe contener un ID de cuenta. No queremos molestar a los usuarios pidiéndoles el ID de cuenta cada vez que configuren una acción Enviar señalización. En su lugar, la extensión debe solicitar el ID de la cuenta una vez desde la vista de configuración de la extensión. De este modo, cada vez que se envíe una señalización, el módulo de biblioteca de acciones Enviar señalización podrá extraer el ID de cuenta de la configuración de la extensión y añadirlo a la señalización.

Cuando los usuarios instalen una extensión en una propiedad de Platform Launch, se les mostrará la vista de configuración de la extensión. No es posible completar la instalación de la extensión sin completar la configuración de la extensión.

La configuración de extensión consiste en un componente de vista que exportará la configuración que luego se emitirá en la biblioteca de tiempo de ejecución de Platform Launch como objeto sin formato.

Más información

Estructura de las extensiones

Una extensión consiste en un directorio de archivos. A continuación se ofrece información general de cómo se deben estructurar estos archivos. Encontrará detalles sobre el contenido del archivo en otras secciones.

Debe existir un archivo extension.json en la raíz del directorio. Dicho archivo, entre otras cosas, describirá la composición de la extensión y la ubicación de ciertos archivos en el directorio. Este archivo se parece al archivo package.json de npm.

Cada módulo de biblioteca (la lógica que se emitirá dentro de la biblioteca de tiempo de ejecución de Platform Launch) debe ser su propio archivo cuyo contenido siga el estándar del módulo CommonJS. Por ejemplo, si estamos generando un tipo de acción "enviar señalización", debemos disponer de un archivo que contenga la lógica que envía la señalización. El contenido de dicho archivo se emitirá en la biblioteca de tiempo de ejecución de Platform Launch. Puede llamarlo sendBeacon.js. La ubicación del archivo en el directorio no es importante, ya que extension.json describirá dónde se encuentra.

Cada vista debe ser un archivo HTML capaz de cargarse en un iframe dentro de la aplicación Platform Launch. La vista debe incluir una secuencia de comandos proporcionada por Platform Launch y ajustarse a una pequeña API para poder comunicarse con la aplicación. No hay restricciones en cuanto a las bibliotecas que se utilizan en sus vistas. En otras palabras, puede utilizar jQuery, Underscore, React, Angular, Bootstrap u otras bibliotecas. Sin embargo, esperamos que su extensión tenga una apariencia similar a la de la aplicación.

Se recomienda colocar todos los archivos relacionados con la vista (HTML, CSS, JavaScript) en un único subdirectorio aislado de los archivos del módulo de biblioteca. En el archivo extension.json describirá dónde se encuentra este subdirectorio de vista. Launch servirá dicho subdirectorio (y solo este subdirectorio) desde sus servidores web.

En esta página

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now