Het gebruiken van de Laag van de Gegevens van de Cliënt van de Adobe met AEM Componenten van de Kern overview

De gegevenslaag van de Cliënt van de Adobe introduceert een standaardmethode om gegevens over de ervaring van een bezoeker op een webpagina te verzamelen en op te slaan en dan het gemakkelijk te maken om tot deze gegevens toegang te hebben. De gegevenslaag van de Cliënt van de Adobe is platform agnostic, maar is volledig geïntegreerd in de Componenten van de Kern voor gebruik met AEM.

NOTE
Wilt u de Laag van Gegevens van de Cliënt van de Adobe op uw AEM plaats toelaten? zie hier de instructies.

De gegevenslaag verkennen

U kunt een idee van de ingebouwde functionaliteit van de Laag van Gegevens van de Cliënt van de Adobe enkel krijgen door de ontwikkelaarshulpmiddelen van uw browser en de levende WKND verwijzingsplaatste gebruiken.

NOTE
Hieronder worden screenshots genomen vanuit de Chrome-browser.
  1. Navigeer aan https://wknd.site/us/en.html

  2. Open uw ontwikkelaarshulpmiddelen en ga het volgende bevel in de Console in:

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

    Om de huidige staat van de gegevenslaag op een AEM plaats te zien inspecteer de reactie. U moet informatie over de pagina en de afzonderlijke componenten bekijken.

    Reactie van de Laag van Gegevens van de Adobe

  3. Duw een gegevensvoorwerp op de gegevenslaag door het volgende in de console in te gaan:

    code language-js
    window.adobeDataLayer.push({
        "component": {
            "training-data": {
                "title": "Learn More",
                "link": "learn-more.html"
            }
        }
    });
    
  4. Voer de opdracht adobeDataLayer.getState() nogmaals uit en zoek de vermelding voor training-data .

  5. Voeg vervolgens een padparameter toe om alleen de specifieke status van een component te retourneren:

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

    terugkeer enkel één enkele ingang van componentengegevens

Werken met gebeurtenissen

Het is aan te raden om aangepaste code te activeren die is gebaseerd op een gebeurtenis uit de gegevenslaag. Hierna kunt u het registreren en luisteren naar verschillende gebeurtenissen.

  1. Ga de volgende helpermethode in uw console in:

    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;
    }
    

    De bovenstaande code inspecteert het object event en gebruikt de methode adobeDataLayer.getState om de huidige status op te halen van het object dat de gebeurtenis heeft geactiveerd. Vervolgens controleert de hulpmethode de filter en alleen als de huidige dataObject voldoet aan de filtercriteria die worden geretourneerd.

    note caution
    CAUTION
    Het is belangrijk niet browser door deze oefening te verfrissen, anders wordt de console JavaScript verloren.
  2. Daarna, ga een gebeurtenismanager in die wordt geroepen wanneer de component van het a Taser binnen a Carrousel wordt getoond.

    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);
        }
    }
    

    De functie teaserShownHandler roept de functie getDataObjectHelper aan en geeft een filter van wknd/components/carousel/item als @type door om gebeurtenissen uit te filteren die door andere componenten worden geactiveerd.

  3. Vervolgens drukt u een gebeurtenislistener op de gegevenslaag om naar de gebeurtenis cmp:show te luisteren.

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

    De cmp:show gebeurtenis wordt teweeggebracht door vele verschillende componenten, als wanneer een nieuwe dia in Carousel wordt getoond, of wanneer een nieuw lusje in de 4} component van het Lusje {wordt geselecteerd.

  4. Schakel op de pagina de carrouseldia's in en bekijk de consoleinstructies:

    Knevel van de knevel en zie gebeurtenisluisteraar

  5. Als u niet meer wilt luisteren naar de gebeurtenis cmp:show , verwijdert u de gebeurtenislistener uit de gegevenslaag

    code language-js
    window.adobeDataLayer = window.adobeDataLayer || [];
    window.adobeDataLayer.push(function(dl) {
        dl.removeEventListener("cmp:show", teaserShownHandler);
    });
    
  6. Ga terug naar de pagina en schakel de carrouseldia's in of uit. Merk op dat er niet meer instructies worden geregistreerd en dat er niet naar de gebeurtenis wordt geluisterd.

  7. Maak vervolgens een gebeurtenishandler die wordt aangeroepen wanneer de gebeurtenis page displayed wordt geactiveerd:

    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);
        }
    }
    

    Het middeltype wknd/components/page wordt gebruikt om de gebeurtenis te filteren.

  8. Vervolgens drukt u een gebeurtenislistener op de gegevenslaag om naar de gebeurtenis cmp:show te luisteren en pageShownHandler aan te roepen.

    code language-js
    window.adobeDataLayer = window.adobeDataLayer || [];
    window.adobeDataLayer.push(function (dl) {
         dl.addEventListener("cmp:show", pageShownHandler);
    });
    
  9. U zou onmiddellijk een consoleverklaring moeten zien die met de paginagegevens in brand wordt gestoken:

    Pagina toont gegevens

    De gebeurtenis cmp:show voor de pagina wordt geactiveerd bij elke pagina die boven aan de pagina wordt geladen. U zou kunnen vragen, waarom werd de gebeurtenismanager teweeggebracht, wanneer de pagina duidelijk reeds is geladen.

    Één van de unieke eigenschappen van de Laag van de Gegevens van de Cliënt van de Adobe is u gebeurtenisluisteraars vóór of kunt registreren nadat de Laag van Gegevens is geïnitialiseerd, helpt het om de rasvoorwaarden te vermijden.

    De gegevenslaag handhaaft een rijserie van alle gebeurtenissen die in opeenvolging zijn voorgekomen. De Laag van Gegevens door gebrek zal gebeurteniscallbacks voor gebeurtenissen teweegbrengen die in voorbij en gebeurtenissen in de toekomst voorkwamen. Het is mogelijk gebeurtenissen uit het verleden of de toekomst te filteren. Meer informatie kan in de documentatieworden gevonden.

Volgende stappen

Er zijn twee opties om het leren te houden, eerste, controle uit paginagegegevens verzamelen en het verzenden naar Adobe Analyticsleerprogramma dat het gebruik van de laag van de Gegevens van de Cliënt van de Adobe aantoont. De tweede optie is, om te leren hoe te de Laag van de Gegevens van de Cliënt van de Adobe met AEM Componentenaanpassen

Aanvullende bronnen additional-resources

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