Integración

Carga y activación de una llamada de Target

Última actualización: 2023-12-04
  • Creado para:
  • Intermediate
    Developer

AEM Sites as a Cloud Service, AEM Sites 6.5

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.

Regla de carga de página

La capa de datos del cliente de Adobe es una capa de datos impulsada por evento. AEM Cuando se carga la capa de datos de la página de, se produce un déclencheur de evento cmp:show . En el vídeo, la variable Launch Library Loaded La regla de se invoca mediante un evento personalizado. A continuación, se pueden encontrar los fragmentos de código utilizados en el vídeo para el evento personalizado y para los elementos de datos.

Evento personalizado de página mostrada

Página mostrada: configuración de evento y código personalizado

En la propiedad Launch, agregue un nuevo Evento a la Regla

  • Extensión: Núcleo
  • Tipo de evento: Código personalizado
  • Nombre: Controlador de eventos de Page Show (o algo descriptivo)

Pulse el botón Abrir editor y pegue el siguiente fragmento de código. Este código debe se añadirá a Configuración de eventos y un subsiguiente Acción.

// 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 la variable pageShownEventHandlerAEM , y escucha eventos emitidos por los componentes principales, deriva la información relevante del componente principal, lo empaqueta en un objeto de evento y almacena en déclencheur el evento de inicio con la información de evento derivada en su carga útil.

La regla de Launch se activa con el trigger(...) función que es solamente disponible dentro de la definición de fragmento de código personalizado de un evento de regla.

El trigger(...) toma un objeto de evento como parámetro que, a su vez, se expone en 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 event objeto con sintaxis similar a event.component['someKey'].

If trigger(...) se utiliza fuera del contexto del tipo de evento Custom Code de un evento (por ejemplo, en una acción), el error de JavaScript trigger is undefined se produce en el sitio web integrado con la propiedad de Launch.

Elementos de datos

Elementos de datos

Los elementos de datos de Adobe Launch asignan los datos del objeto de evento se activa 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.

Elemento de datos de ID de página

if (event && event.id) {
    return event.id;
}

Este código devuelve el ID único generado del componente principal.

ID de página

Elemento de datos de ruta de página

if (event && event.component && event.component.hasOwnProperty('repo:path')) {
    return event.component['repo:path'];
}

AEM Este código devuelve la ruta de acceso de la página de la.

Ruta de página

Elemento de datos Page Title

if (event && event.component && event.component.hasOwnProperty('dc:title')) {
    return event.component['dc:title'];
}

AEM Este código devuelve el título de la página de la.

Título de página

Solución de problemas

¿Por qué no se activan los mboxes en mis páginas web?

Error de dominio de cookie de Target

> 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.

Solución

Los clientes de utilizan en ocasiones instancias basadas en la nube con Target para realizar pruebas o simplemente exponer conceptos. Estos dominios, y muchos otros, son parte de la Lista pública de sufijos .
Los exploradores modernos no guardarán las cookies si utiliza estos dominios a menos que personalice el cookieDomain configuración mediante targetGlobalSettings().

window.targetGlobalSettings = {
   cookieDomain: 'your-domain' //set the cookie directly on this subdomain, for example: 'publish-p1234-e5678.adobeaemcloud.com'
};

Pasos siguientes

Vínculos de soporte

En esta página