Tipos de elementos de datos para extensiones web
En las etiquetas de recopilación de datos, los elementos de datos son esencialmente alias de datos de una página. Estos datos se pueden encontrar en parámetros de cadena de consulta, cookies, elementos DOM u otras ubicaciones. 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.
Las extensiones proporcionan los tipos de elementos de datos y permiten a los usuarios configurar los elementos de datos para acceder a fragmentos 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 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.
Este documento explica cómo definir los tipos de elementos de datos para una extensión web en Adobe Experience Platform.
Los tipos de elementos de datos suelen consistir en lo siguiente:
- A vista se muestra dentro de la interfaz de usuario del Experience Platform y de la recopilación de datos que permite a los usuarios modificar la configuración del elemento de datos.
- 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 recuperar fragmentos de datos.
Considere una situación en la que desee permitir que los usuarios recuperen un fragmento de datos de un elemento de almacenamiento local denominado productName
. Es posible que el módulo tenga este aspecto:
module.exports = function(settings) {
return localStorage.getItem('productName');
}
Si desea que el usuario de Adobe Experience Platform pueda configurar el nombre del elemento de almacenamiento local, puede permitir que el usuario introduzca un nombre y luego lo guarde en el objeto settings
. El objeto podría tener este aspecto:
{
itemName: "campaignId"
}
Para poder utilizar el nombre del elemento de almacenamiento local definido por el usuario, su módulo deberá cambiar a lo siguiente:
module.exports = function(settings) {
return localStorage.getItem(settings.itemName);
}
Compatibilidad con valores predeterminados
Tenga en cuenta que los usuarios tienen la opción de configurar un valor predeterminado para cualquier elemento de datos. Si el módulo de la biblioteca de elementos de datos devuelve el valor undefined
o null
, este se reemplazará automáticamente por el valor predeterminado que el usuario haya configurado para el elemento de datos.
Datos de evento contextual
Si el elemento de datos se recupera como resultado de la activación de una regla (por ejemplo, los elementos de datos se utilizan en las condiciones y acciones de la regla), se pasará 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
.