Tipos de condición para extensiones web
En el contexto de una regla, una condición se evalúa después de que se haya producido un evento. 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 devolver el valor "False" 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 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.
Este documento explica cómo definir los tipos de condición para una extensión web en Adobe Experience Platform.
Los tipos de condición suelen consistir en lo siguiente:
- Una vista que se muestra dentro de la IU del Experience Platform y la IU de recopilación de datos y que permite a los usuarios modificar la configuración de la condición.
- Módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución de la etiqueta para interpretar la configuración y evaluar una condición.
Un módulo de biblioteca de tipo condición tiene un objetivo: evaluar si algo es verdadero o falso. Lo que evalúan depende de usted.
Por ejemplo, si desea evaluar si el usuario está en el host example.com
, el módulo puede tener un aspecto similar al siguiente:
module.exports = function(settings) {
return document.location.hostname === 'example.com';
};
Piense ahora en una situación en la que desee que el usuario de Adobe Experience Platform pueda configurar el nombre del host. Puede permitir que el usuario introduzca un nombre de host y, a continuación, guardar el nombre de host en el objeto de configuración. El objeto podría tener este aspecto:
{
"hostname": "example.com"
}
Para poder modificar el nombre de host definido por el usuario, el módulo deberá cambiar a lo siguiente:
module.exports = function(settings) {
return document.location.hostname === settings.hostname;
};
Datos de evento contextual
Se pasa un segundo argumento al módulo que contiene información contextual sobre el evento que activó la regla. Esto puede ser beneficioso en algunos casos y se puede acceder a estos datos de la siguiente manera:
module.exports = function(settings, event) {
// event contains information regarding the event that fired the rule
};
El objeto event
debe contener las propiedades siguientes:
$type
youtube.play
.$rule
Objeto que contiene información sobre la regla que se está ejecutando. El objeto debe contener las siguientes propiedades secundarias:
id
: ID de la regla que se está ejecutando.name
: nombre de la regla que se está ejecutando.
La extensión que proporciona el tipo de evento que activó la regla puede, de manera opcional, añadir cualquier otra información de utilidad a este objeto event
.