Uso de la capa de datos del cliente de Adobe AEM con los componentes principales de overview

La capa de datos del cliente de Adobe presenta un método estándar para recopilar y almacenar datos sobre la experiencia de un visitante en una página web y, a continuación, facilitar el acceso a estos datos. La capa de datos del cliente de Adobe no depende de la plataforma, pero está completamente integrada en los componentes principales para su uso con AEM.

NOTE
¿Desea habilitar la capa de datos del cliente de Adobe AEM en el sitio de la? Vea las instrucciones aquí.

Exploración de la capa de datos

Puede hacerse una idea de la funcionalidad integrada de la capa de datos del cliente de Adobe con solo usar las herramientas para desarrolladores de su explorador y el sitio de referencia WKND activo.

NOTE
Capturas de pantalla a continuación tomadas desde el navegador Chrome.
  1. Vaya a https://wknd.site/us/en.html

  2. Abra las herramientas para desarrolladores e introduzca el siguiente comando en la consola:

    code language-js
    window.adobeDataLayer.getState();
    

    AEM Para ver el estado actual de la capa de datos en un sitio de datos, compruebe la respuesta de un sitio de datos en el que se haya realizado una inspección. Debería ver información sobre la página y los componentes individuales.

    Respuesta de capa de datos de Adobe

  3. Inserte un objeto de datos en la capa de datos introduciendo lo siguiente en la consola:

    code language-js
    window.adobeDataLayer.push({
        "component": {
            "training-data": {
                "title": "Learn More",
                "link": "learn-more.html"
            }
        }
    });
    
  4. Vuelva a ejecutar el comando adobeDataLayer.getState() y busque la entrada para training-data.

  5. A continuación, añada un parámetro de ruta para devolver solo el estado específico de un componente:

    code language-js
    window.adobeDataLayer.getState('component.training-data');
    

    Devolver solo una entrada de datos de componente

Uso de eventos

Se recomienda almacenar en déclencheur cualquier código personalizado basado en un evento de la capa de datos. A continuación, explore cómo registrar y escuchar diferentes eventos.

  1. Introduzca el siguiente método de ayuda en la consola:

    code language-js
    function getDataObjectHelper(event, filter) {
        if (event.hasOwnProperty("eventInfo") && event.eventInfo.hasOwnProperty("path")) {
            var dataObject = window.adobeDataLayer.getState(event.eventInfo.path);
            if (dataObject != null) {
                for (var property in filter) {
                    if (!dataObject.hasOwnProperty(property) || (filter[property] !== null && filter[property] !== dataObject[property])) {
                        return;
                    }
                    return dataObject;
                }
            }
        }
        return;
    }
    

    El código anterior inspecciona el objeto event y utiliza el método adobeDataLayer.getState para obtener el estado actual del objeto que activó el evento. Entonces, el método auxiliar inspecciona filter y solo si el dataObject actual cumple los criterios de filtro que se devuelve.

    note caution
    CAUTION
    Es importante no actualizar el explorador durante este ejercicio; de lo contrario, se perderá la consola JavaScript.
  2. A continuación, escriba un controlador de eventos al que se llame cuando se muestre un componente Teaser en un Carrusel.

    code language-js
    function teaserShownHandler(event) {
        var dataObject = getDataObjectHelper(event, {"@type": "wknd/components/carousel/item"});
        if(dataObject != null) {
            console.log("Teaser Shown: " + dataObject['dc:title']);
            console.log(dataObject);
        }
    }
    

    La función teaserShownHandler llama a la función getDataObjectHelper y pasa un filtro de wknd/components/carousel/item como @type para filtrar los eventos activados por otros componentes.

  3. A continuación, inserte un detector de eventos en la capa de datos para detectar el evento cmp:show.

    code language-js
    window.adobeDataLayer.push(function (dl) {
         dl.addEventListener("cmp:show", teaserShownHandler);
    });
    

    El evento cmp:show se activa mediante muchos componentes diferentes, como cuando se muestra una nueva diapositiva en el Carrusel o cuando se selecciona una nueva pestaña en el componente Tab.

  4. En la página, alterne las diapositivas del carrusel y observe las instrucciones de la consola:

    Alternar carrusel y ver el detector de eventos

  5. Para dejar de escuchar el evento cmp:show, quite el detector de eventos de la capa de datos

    code language-js
    window.adobeDataLayer = window.adobeDataLayer || [];
    window.adobeDataLayer.push(function(dl) {
        dl.removeEventListener("cmp:show", teaserShownHandler);
    });
    
  6. Vuelva a la página y cambie las diapositivas del carrusel. Observe que no se registran más instrucciones y que el evento no se escucha.

  7. A continuación, cree un controlador de eventos al que se llame cuando se active el evento Página mostrada:

    code language-js
    function pageShownHandler(event) {
        var dataObject = getDataObjectHelper(event, {"@type": "wknd/components/page"});
        if(dataObject != null) {
            console.log("Page Shown: " + dataObject['dc:title']);
            console.log(dataObject);
        }
    }
    

    Observe que el tipo de recurso wknd/components/page se usa para filtrar el evento.

  8. A continuación, inserte un detector de eventos en la capa de datos para escuchar el evento cmp:show y llamar a pageShownHandler.

    code language-js
    window.adobeDataLayer = window.adobeDataLayer || [];
    window.adobeDataLayer.push(function (dl) {
         dl.addEventListener("cmp:show", pageShownHandler);
    });
    
  9. Debería ver inmediatamente una instrucción de consola activada con los datos de la página:

    Página que muestra datos

    El evento cmp:show de la página se activa en cada carga de página en la parte superior de la página. Podría preguntar, ¿por qué se activó el controlador de eventos cuando claramente la página ya se ha cargado?

    Una de las características únicas de la capa de datos del cliente de Adobe es que puede registrar los detectores de eventos antes o después de que la capa de datos se haya inicializado, lo que ayuda a evitar las condiciones de carrera.

    La capa de datos mantiene una matriz de colas de todos los eventos que se han producido en secuencia. La capa de datos almacenará en déclencheur de forma predeterminada las llamadas de retorno de eventos para los eventos que se produjeron en el último y los eventos en el futuro. Es posible filtrar los eventos del pasado o del futuro. Encontrará más información en la documentación.

Siguientes pasos

Hay dos opciones para continuar el aprendizaje: la primera es desproteger los datos de la página recopilarlos y enviarlos a Adobe Analytics. Este tutorial muestra el uso de la capa de datos del cliente de Adobe. La segunda opción es, para aprender a personalizar la capa de datos del cliente de Adobe AEM con componentes de la interfaz de usuario de la interfaz de usuariode la interfaz de usuario

Recursos adicionales additional-resources

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d