Gebeurtenisgegevens bijhouden

Leer hoe u gebeurtenissen in een mobiele app kunt bijhouden.

De uitbreiding van het Netwerk van Edge verstrekt API om de Gebeurtenissen van de Ervaring naar het Netwerk van de Rand van het Platform te verzenden. Een Experience Event is een object dat gegevens bevat die voldoen aan de XDM ExperienceEvent-schemadefinitie. Meer eenvoudig, vangen zij wat mensen in uw mobiele app doen. Zodra de gegevens door het Netwerk van de Rand van het Platform worden ontvangen, kan het aan toepassingen en de diensten door:sturen die in uw gegevensstroom, zoals Adobe Analytics en Experience Platform worden gevormd. Meer informatie over de Experience Events in de productdocumentatie.

Vereisten

  • Alle pakketgebiedsdelen zijn op zijn plaats in uw project van Xcode.
  • Registreerde extensies in AppDelegate.
  • De geconfigureerde MobileCore-extensie om uw ontwikkeling te gebruiken appId.
  • Geïmporteerde SDK's.
  • De app is gemaakt en uitgevoerd met de bovenstaande wijzigingen.

Leerdoelstellingen

In deze les zult u

  • Begrijp hoe te om XDM gegevens te structureren die op een schema worden gebaseerd.
  • Verzend een XDM-gebeurtenis op basis van een standaardveldgroep.
  • Verzend een XDM-gebeurtenis op basis van een aangepaste veldgroep.
  • Verzend een XDM-aankoopgebeurtenis.
  • Valideren met betrouwbaarheid.

Een ervaringsgebeurtenis maken

De Adobe Experience Platform Edge-extensie kan gebeurtenissen die een eerder gedefinieerd XDM-schema volgen, verzenden naar Adobe Experience Platform Edge Network.

Het proces gaat als volgt…

  1. Identificeer de mobiele toepassingsinteractie die u probeert te volgen.

  2. Herzie uw schema en identificeer de aangewezen gebeurtenis.

  3. Controleer uw schema en identificeer om het even welke extra gebieden die zouden moeten worden gebruikt om de gebeurtenis te beschrijven.

  4. Hiermee wordt het gegevensobject samengesteld en gevuld.

  5. Maak en verzend gebeurtenis.

  6. Valideren.

Standaardveldgroepen

Voor de standaardveldgroepen ziet het proces er als volgt uit:

  • In uw schema, identificeer de gebeurtenissen die u probeert te verzamelen. In dit voorbeeld volgt u de gebeurtenissen van de handelservaring, bijvoorbeeld een productmening (productViews).

    productweergaveschema

  • Als u een object wilt maken dat de ervaringsgebeurtenisgegevens in uw app bevat, gebruikt u de volgende code:

    code language-swift
    var xdmData: [String: Any] = [
        "eventType": "commerce.productViews",
        "commerce": [
            "productViews": [
              "value": 1
            ]
        ]
    ]
    
    • eventType: Beschrijft de gebeurtenis die voorkwam, gebruik a bekende waarde indien mogelijk.
    • commerce.productViews.value: de numerieke of Booleaanse waarde van de gebeurtenis. Als het een Booleaanse waarde (of "Teller" in Adobe Analytics) is, wordt de waarde altijd ingesteld op 1. Als het een numerieke of valutagebeurtenis is, kan de waarde > 1 zijn.
  • In uw schema, identificeer om het even welke extra gegevens verbonden aan de gebeurtenis van de de meningsmening van het handelsproduct. In dit voorbeeld neemt u productListItems Dit is een standaardset velden die worden gebruikt bij elke handelsgerelateerde gebeurtenis:

    productlijstitemschema

    • Let op: productListItems is een array, zodat er meerdere producten kunnen worden geleverd.
  • Als u deze gegevens wilt toevoegen, vouwt u uw xdmData object dat aanvullende gegevens moet bevatten:

    code language-swift
    var xdmData: [String: Any] = [
        "eventType": "commerce.productViews",
            "commerce": [
            "productViews": [
                "value": 1
            ]
        ],
        "productListItems": [
            [
                "name":  productName,
                "SKU": sku,
                "priceTotal": priceString,
                "quantity": 1
            ]
        ]
    ]
    
  • U kunt deze gegevensstructuur nu gebruiken om een ExperienceEvent:

    code language-swift
    let productViewEvent = ExperienceEvent(xdm: xdmData)
    
  • En verzend de gebeurtenis en de gegevens naar het Netwerk van de Rand van het Platform gebruikend sendEvent API:

    code language-swift
    Edge.sendEvent(experienceEvent: productViewEvent)
    

De Edge.sendEvent API is de AEP Mobile SDK equivalent aan de MobileCore.trackAction en MobileCore.trackState API-aanroepen. Zie Migreren van de mobiele extensie Analytics naar Adobe Experience Platform Edge Network voor meer informatie .

U gaat nu eigenlijk deze code in uw project van Xcode uitvoeren.
U hebt verschillende acties met betrekking tot handelsproducten in uw app en u wilt gebeurtenissen verzenden op basis van deze acties die door de gebruiker worden uitgevoerd:

  • weergave: vindt plaats wanneer een gebruiker een specifiek product weergeeft,
  • toevoegen aan winkelwagentje: wanneer een gebruiker tikt {width="20"} in een productdetailscherm,
  • opslaan voor later: wanneer een gebruiker op tikt {width="15"} in een productdetailscherm,
  • aankoop: wanneer een gebruiker tikt {width="20"} in een productdetailscherm.

Om het verzenden van aan handel gerelateerde ervaringsgebeurtenissen op een herbruikbare manier uit te voeren, gebruikt u een specifieke functie:

  1. Navigeren naar Luma > Luma > Utils > MobileSDK in Xcode Project navigator, en voeg het volgende aan toe func sendCommerceExperienceEvent(commerceEventType: String, product: Product) functie.

    code language-swift
    // Set up a data dictionary, create an experience event and send the event.
    let xdmData: [String: Any] = [
        "eventType": "commerce." + commerceEventType,
        "commerce": [
            commerceEventType: [
                "value": 1
            ]
        ],
        "productListItems": [
            [
                "name": product.name,
                "priceTotal": product.price,
                "SKU": product.sku
            ]
        ]
    ]
    
    let commerceExperienceEvent = ExperienceEvent(xdm: xdmData)
    Edge.sendEvent(experienceEvent: commerceExperienceEvent)
    

    Deze functie neemt het type en het product van de handelservaring als parameters en

    • stelt de XDM-payload in als een woordenboek, waarbij de parameters van de functie worden gebruikt;
    • stelt een ervaringsgebeurtenis op met behulp van het woordenboek;
    • verzendt de ervaringsgebeurtenis gebruikend Edge.sendEvent API.
  2. Navigeren naar Luma > Luma > Views > Products > ProductView in de navigator van het Project van Xcode en voeg diverse vraag aan toe sendCommerceExperienceEvent functie:

    1. Bij de .task modifier, binnen de ATTrackingManager.trackingAuthorizationStatus sluiting. Dit .task De bepaling wordt geroepen wanneer de productmening wordt geïnitialiseerd en getoond, zodat wilt u een gebeurtenis van de productmening op dat specifieke ogenblik verzenden.

      code language-swift
      // Send productViews commerce experience event
      MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
      
    2. Voor elk van de knoppen ( {width="15"}, {width="20"} en {width="20"}) in de werkbalk de desbetreffende oproep toevoegen binnen de ATTrackingManager.trackingAuthorizationStatus == .authorized sluiting:

      1. Voor {width="15"}:

        code language-swift
        // Send saveForLater commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
        
      2. Voor {width="20"}:

        code language-swift
        // Send productListAdds commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
        
      3. Voor {width="20"}:

        code language-swift
        // Send purchase commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
        
TIP
Als u ontwikkelt voor Android™, gebruikt u Kaart (java.util.Map) als de basisinterface voor het samenstellen van uw XDM-payload.

Aangepaste veldgroepen

Stel dat u schermweergaven en interacties wilt bijhouden in de app zelf. U hebt een aangepaste veldgroep voor dit type gebeurtenissen gedefinieerd.

  • In uw schema, identificeer de gebeurtenissen u probeert te verzamelen.
    interactieschema app

  • Constructie van het object beginnen.

    note note
    NOTE
    • Standaardveldgroepen beginnen altijd in de hoofdmap van het object.

    • Groepen aangepaste velden beginnen altijd onder een object dat uniek is voor uw Experience Cloud Org. _techmarketingdemos in dit voorbeeld.

    Voor de toepassingsinteractiegebeurtenis maakt u een object als:

    code language-swift
    let xdmData: [String: Any] = [
      "eventType": "application.interaction",
      "_techmarketingdemos": [
        "appInformation": [
            "appInteraction": [
                "name": "login",
                "appAction": [
                    "value": 1
                    ]
                ]
            ]
        ]
    ]
    

    Voor de gebeurtenis screen tracking zou u een object maken zoals:

    code language-swift
    var xdmData: [String: Any] = [
      "eventType": "application.scene",
      "_techmarketingdemos": [
          "appInformation": [
              "appStateDetails": [
                  "screenType": "App",
                      "screenName": "luma: content: ios: us: en: login",
                      "screenView": [
                          "value": 1
                      ]
                  ]
              ]
          ]
    ]
    
  • U kunt deze gegevensstructuur nu gebruiken om een ExperienceEvent.

    code language-swift
    let event = ExperienceEvent(xdm: xdmData)
    
  • Verzend de gebeurtenis en de gegevens naar het Netwerk van de Rand van het Platform.

    code language-swift
    Edge.sendEvent(experienceEvent: event)
    

Nogmaals, laten eigenlijk deze code in uw project van Xcode uitvoeren.

  1. Voor het gemak definieert u twee functies in MobileSDK. Navigeren naar Luma > Luma > Utils > MobileSDK in uw Xcode-projectnavigator.

    1. Een voor app-interacties. Deze code toevoegen aan de func sendAppInteractionEvent(actionName: String) functie:

      code language-swift
      // Set up a data dictionary, create an experience event and send the event.
      let xdmData: [String: Any] = [
          "eventType": "application.interaction",
          tenant : [
              "appInformation": [
                  "appInteraction": [
                      "name": actionName,
                      "appAction": [
                          "value": 1
                      ]
                  ]
              ]
          ]
      ]
      let appInteractionEvent = ExperienceEvent(xdm: xdmData)
      Edge.sendEvent(experienceEvent: appInteractionEvent)
      

      Deze functie gebruikt de naam van de handeling als parameter en

      • stelt de XDM-payload in als een woordenboek, waarbij de parameter van de functie wordt gebruikt;
      • stelt een ervaringsgebeurtenis op met behulp van het woordenboek;
      • verzendt de ervaringsgebeurtenis gebruikend Edge.sendEvent API.
    2. En één voor het volgen van het scherm. Deze code toevoegen aan de func sendTrackScreenEvent(stateName: String) functie:

      code language-swift
      // Set up a data dictionary, create an experience event and send the event.
      let xdmData: [String: Any] = [
          "eventType": "application.scene",
          tenant : [
              "appInformation": [
                  "appStateDetails": [
                      "screenType": "App",
                      "screenName": stateName,
                      "screenView": [
                          "value": 1
                      ]
                  ]
              ]
          ]
      ]
      let trackScreenEvent = ExperienceEvent(xdm: xdmData)
      Edge.sendEvent(experienceEvent: trackScreenEvent)
      

      Deze functie gebruikt de statusnaam als parameter en

      • stelt de XDM-payload in als een woordenboek, waarbij de parameter van de functie wordt gebruikt;
      • stelt een ervaringsgebeurtenis op met behulp van het woordenboek;
      • verzendt de ervaringsgebeurtenis gebruikend Edge.sendEvent API.
  2. Navigeren naar Luma > Luma > Views > General > Aanmeldingsblad.

    1. Voeg de volgende gemarkeerde code toe aan de knop Aanmelden:

      code language-swift
      // Send app interaction event
      MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
      
    2. De volgende gemarkeerde code toevoegen aan onAppear modifier:

      code language-swift
      // Send track screen event
      MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
      

Validatie

  1. Controleer de installatie-instructies om uw simulator of apparaat aan te sluiten met Betrouwbaarheid.

    1. Verplaats het pictogram Verzekering naar links.

    2. Selecteren Home in de tabbalk en controleer of er een ECID, E-mail, en CRM-id in het Startscherm.

    3. Selecteren Products in de tabbalk.

    4. Selecteer een product.

    5. Selecteren {width="15"}.

    6. Selecteren {width="20"}.

    7. Selecteren {width="15"}.

      {width="300"}

  2. In Verzekering UI, zoek naar hitReceived gebeurtenissen van de com.adobe.edge.konductor leverancier.

  3. Selecteer de gebeurtenis en bekijk de XDM-gegevens in het dialoogvenster berichten object. U kunt ook Kopiëren Raw-gebeurtenis kopiëren en gebruik een tekst- of code-editor van uw voorkeur om de gebeurtenis te plakken en te inspecteren.

    gegevensverzamelingsvalidatie

Volgende stappen

U moet nu over alle gereedschappen beschikken om gegevensverzameling aan uw app toe te voegen. U kunt meer informatie toevoegen over de manier waarop de gebruiker in de app met uw producten werkt en u kunt meer oproepen voor interactie tussen de apps en het bijhouden van schermen toevoegen aan de app:

  • Implementeer de opdracht, kassa, lege mand en andere functionaliteit van de app en voeg relevante gebeurtenissen uit de handelservaring toe aan deze functionaliteit.
  • Herhaal de oproep om sendAppInteractionEvent met de juiste parameter om andere toepassingsinteracties van de gebruiker bij te houden.
  • Herhaal de oproep om sendTrackScreenEvent met de juiste parameter om schermen bij te houden die door de gebruiker in de app worden weergegeven.
TIP
Controleer de voltooide app voor meer voorbeelden .

Gebeurtenissen verzenden naar Analytics en Platform

Nu u de gebeurtenissen hebt verzameld en naar het Netwerk van de Rand van het Platform hebt verzonden, worden zij verzonden naar de toepassingen en de diensten die in uw worden gevormd datastream. In latere lessen wijst u deze gegevens toe aan Adobe Analytics, Adobe Experience Platformen andere Adobe Experience Cloud-oplossingen zoals Adobe Target en Adobe Journey Optimizer.

SUCCESS
U hebt uw app nu ingesteld om gebeurtenissen op het gebied van handel, interactie tussen apps en schermtracering bij te houden naar het Adobe Experience Platform Edge-netwerk en alle services die u in uw gegevensstroom hebt gedefinieerd.
Bedankt dat u tijd hebt geïnvesteerd in het leren van Adobe Experience Platform Mobile SDK. Als u vragen hebt, algemene feedback wilt delen of suggesties voor toekomstige inhoud wilt hebben, deelt u deze over deze Experience League Communautaire discussiestuk.

Volgende: WebViews verwerken

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b