Obtenga información sobre cómo cargar, pasar parámetros a una solicitud de página y activar una llamada de Target desde la página del sitio mediante una regla de Launch. La información de la página web se recupera y pasa como parámetros mediante la capa de datos del cliente de Adobe, que permite recopilar y almacenar datos sobre la experiencia de los visitantes en una página web y, a continuación, facilitar el acceso a estos datos.
La capa de datos del cliente de Adobe es una capa de datos controlada por evento. Cuando se carga la capa de datos de la página AEM, se genera un déclencheur de un evento cmp:show
. En el vídeo, la regla Launch Library Loaded
se invoca mediante un evento personalizado. A continuación, puede encontrar los fragmentos de código utilizados en el vídeo para el evento personalizado así como para los elementos de datos.
En la propiedad de Launch, agregue un nuevo Evento a la Regla
Pulse el botón Abrir editor y pegue el siguiente fragmento de código. Este código debe agregarse a la Configuración del evento y a una Acción posterior.
// Define the event handler function
var pageShownEventHandler = function(coreComponentEvent) {
// Check to ensure event trigger via AEM Core Components is shaped correctly
if (coreComponentEvent.hasOwnProperty("eventInfo") &&
coreComponentEvent.eventInfo.hasOwnProperty("path")) {
// Debug the AEM Component path the show event is associated with
console.debug("cmp:show event: " + coreComponentEvent.eventInfo.path);
// Create the Launch Event object
var launchEvent = {
// Include the ID of the AEM Component that triggered the event
id: coreComponentEvent.eventInfo.path,
// Get the state of the AEM Component that triggered the event
component: window.adobeDataLayer.getState(coreComponentEvent.eventInfo.path)
};
//Trigger the Launch Rule, passing in the new `event` object
// the `event` obj can now be referenced by the reserved name `event` by other Launch data elements
// i.e `event.component['someKey']`
trigger(launchEvent);
}
}
// With the AEM Core Component event handler, that proxies the event and relevant information to Adobe Launch, defined above...
// Initialize the adobeDataLayer global object in a safe way
window.adobeDataLayer = window.adobeDataLayer || [];
// Push the event custom listener onto the Adobe Data Layer
window.adobeDataLayer.push(function (dataLayer) {
// Add event listener for the `cmp:show` event, and the custom `pageShownEventHandler` function as the callback
dataLayer.addEventListener("cmp:show", pageShownEventHandler);
});
Una función personalizada define el pageShownEventHandler
y escucha los eventos emitidos por AEM componentes principales, obtiene la información relevante del componente principal, la empaqueta en un objeto de evento y déclencheur el evento de lanzamiento con la información de evento derivada en su carga útil.
La regla de Launch se activa utilizando la función trigger(...)
de Launch, que solo está disponible dentro de la definición de fragmento de código personalizado de un evento de regla.
La función trigger(...)
toma un objeto de evento como parámetro que, a su vez, se expone en los elementos de datos de Launch, con otro nombre reservado en Launch denominado event
. Los elementos de datos de Launch ahora pueden hacer referencia a los datos de este objeto de evento desde el objeto event
mediante sintaxis como event.component['someKey']
.
Si trigger(...)
se utiliza fuera del contexto del tipo de evento de Custom Code de un Evento (por ejemplo, en una Acción), el error trigger is undefined
de JavaScript se genera en el sitio web integrado con la propiedad Launch.
Los elementos de datos de Launch de Adobe asignan los datos del objeto de evento activado en el evento personalizado Página mostrada a las variables disponibles en Adobe Target, a través del Tipo de elemento de datos de código personalizado de la extensión principal.
if (event && event.id) {
return event.id;
}
Este código devuelve el ID exclusivo generado por el componente principal.
if (event && event.component && event.component.hasOwnProperty('repo:path')) {
return event.component['repo:path'];
}
Este código devuelve la ruta de la página AEM.
if (event && event.component && event.component.hasOwnProperty('dc:title')) {
return event.component['dc:title'];
}
Este código devuelve el título de la página AEM.
> AT: [page-init] Adobe Target content delivery is disabled. Ensure that you can save cookies to your current domain, there is no "mboxDisable" cookie and there is no "mboxDisable" parameter in the query string.
Los clientes de Target a veces utilizan instancias basadas en la nube con Target para realizar pruebas o simplemente exponer conceptos. Estos dominios, y muchos otros, forman parte de la Lista pública de sufijos .
Los navegadores modernos no guardarán las cookies si utiliza estos dominios, a menos que personalice la configuración cookieDomain
mediante targetGlobalSettings()
.
window.targetGlobalSettings = {
cookieDomain: 'your-domain' //set the cookie directly on this subdomain, for example: 'publish-p1234-e5678.adobeaemcloud.com'
};