Rastrear dados do evento

Saiba como rastrear eventos em um aplicativo móvel.

A extensão Edge Network fornece uma API para enviar eventos de experiência para o Edge Network da plataforma. Um Evento de experiência é um objeto que contém dados em conformidade com a definição do esquema XDM ExperienceEvent. De maneira mais simples, eles capturam o que as pessoas fazem no seu aplicativo móvel. Depois que os dados forem recebidos pelo Platform Edge Network, poderão ser encaminhados aos aplicativos e serviços configurados no fluxo de dados, como Adobe Analytics e Experience Platform. Saiba mais sobre os Eventos de experiência na documentação do produto.

Pré-requisitos

  • Todas as dependências de pacote estão em vigor no projeto Xcode.
  • Extensões registradas em AppDelegate.
  • Configuração da extensão MobileCore para usar o appId de desenvolvimento.
  • SDKs importados.
  • O aplicativo foi criado e executado com sucesso com as alterações acima.

Objetivos de aprendizagem

Nesta lição, você

  • Entenda como estruturar dados XDM com base em um esquema.
  • Enviar um evento XDM com base em um grupo de campos padrão.
  • Enviar um evento XDM com base em um grupo de campos personalizado.
  • Envie um evento de compra XDM.
  • Valide com o Assurance.

Construção de um evento de experiência

A extensão do Adobe Experience Platform Edge pode enviar eventos que seguem um esquema XDM definido anteriormente para o Adobe Experience Platform Edge Network.

O processo é assim…

  1. Identifique a interação do aplicativo móvel que você está tentando rastrear.

  2. Revise seu esquema e identifique o evento apropriado.

  3. Revise seu esquema e identifique campos adicionais que devem ser usados para descrever o evento.

  4. Construir e preencher o objeto de dados.

  5. Criar e enviar evento.

  6. Validar.

Grupos de campos padrão

Para os grupos de campos padrão, o processo é semelhante a:

  • No esquema, identifique os eventos que você está tentando coletar. Neste exemplo, você está rastreando eventos de experiência de comércio, por exemplo, um evento de exibição de produto (productViews).

    esquema de exibição de produto

  • Para construir um objeto contendo os dados do evento de experiência em seu aplicativo, você usaria o código como:

    code language-swift
    var xdmData: [String: Any] = [
        "eventType": "commerce.productViews",
        "commerce": [
            "productViews": [
              "value": 1
            ]
        ]
    ]
    
    • eventType: descreve o evento que ocorreu, use um valor conhecido quando possível.
    • commerce.productViews.value: o valor numérico ou booleano do evento. Se for um Booleano (ou "Contador" no Adobe Analytics), o valor sempre será definido como 1. Se for um evento numérico ou de moeda, o valor poderá ser > 1.
  • No esquema, identifique quaisquer dados adicionais associados ao evento de visualização de produto de comércio. Neste exemplo, inclua productListItems, que é um conjunto padrão de campos usados com qualquer evento relacionado ao comércio:

    esquema de itens de lista de produtos

    • Observe que productListItems é uma matriz para que vários produtos possam ser fornecidos.
  • Para adicionar esses dados, expanda o objeto xdmData para incluir dados suplementares:

    code language-swift
    var xdmData: [String: Any] = [
        "eventType": "commerce.productViews",
            "commerce": [
            "productViews": [
                "value": 1
            ]
        ],
        "productListItems": [
            [
                "name":  productName,
                "SKU": sku,
                "priceTotal": priceString,
                "quantity": 1
            ]
        ]
    ]
    
  • Agora você pode usar esta estrutura de dados para criar um ExperienceEvent:

    code language-swift
    let productViewEvent = ExperienceEvent(xdm: xdmData)
    
  • E envie o evento e os dados para o Platform Edge Network usando a API sendEvent:

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

A API Edge.sendEvent é o SDK móvel da AEP equivalente às chamadas de API MobileCore.trackAction e MobileCore.trackState. Consulte Migrar da extensão móvel do Analytics para o Adobe Experience Platform Edge Network para obter mais informações.

Agora, você implementará realmente esse código em seu projeto Xcode.
Você tem diferentes ações relacionadas a produtos de comércio em seu aplicativo e deseja enviar eventos, com base nessas ações conforme executadas pelo usuário:

  • exibir: ocorre quando um usuário exibe um produto específico,

  • adicionar ao carrinho: quando um usuário toca

    {width="20"}

    em uma tela de detalhes do produto,

  • salvar para mais tarde: quando um usuário tocar

    {width="15"}

    em uma tela de detalhes do produto,

  • compra: quando um usuário toca

    {width="20"}

    em uma tela de detalhes do produto.

Para implementar o envio de eventos de experiência relacionados ao comércio de maneira reutilizável, use uma função dedicada:

  1. Navegue até Luma > Luma > Utils > MobileSDK no navegador do Projeto Xcode e adicione o seguinte à função func sendCommerceExperienceEvent(commerceEventType: String, product: Product).

    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)
    

    Essa função considera o tipo de evento de experiência de comércio e o produto como parâmetros e

    • define a carga XDM como um dicionário, usando os parâmetros da função,
    • configura um evento de experiência usando o dicionário,
    • envia o evento de experiência usando a API Edge.sendEvent.
  2. Navegue até Luma > Luma > Views > Products > ProductView no navegador do Projeto Xcode e adicione várias chamadas à função sendCommerceExperienceEvent:

    1. No modificador .task, dentro do fechamento ATTrackingManager.trackingAuthorizationStatus. Esse modificador .task é chamado quando a exibição de produto é inicializada e exibida, para que você queira enviar um evento de exibição de produto nesse momento específico.

      code language-swift
      // Send productViews commerce experience event
      MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
      
    2. Para cada um dos botões ( {width="15"}, {width="20"} e {width="20"}) na barra de ferramentas, adicione a chamada relevante dentro do fechamento ATTrackingManager.trackingAuthorizationStatus == .authorized:

      1. Para {width="15"}

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

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

        code language-swift
        // Send purchase commerce experience event
        MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
        
TIP
Caso esteja desenvolvendo para Android™, use o Mapa (java.util.Map) como a interface fundamental para criar sua carga XDM.

Grupos de campos personalizados

Imagine que você queira rastrear visualizações de tela e interações no próprio aplicativo. Lembre-se de que você definiu um grupo de campos personalizado para esse tipo de evento.

  • No esquema, identifique os eventos que você está tentando coletar.
    esquema de interação do aplicativo

  • Comece a construir seu objeto.

    note note
    NOTE
    • Os grupos de campos padrão sempre começam na raiz do objeto.

    • Os grupos de campos personalizados sempre começam em um objeto exclusivo da sua Organização Experience Cloud, _techmarketingdemos neste exemplo.

    Para o evento de interação do aplicativo, você construiria um objeto como:

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

    Para o evento de rastreamento de tela, você construiria um objeto como:

    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
                      ]
                  ]
              ]
          ]
    ]
    
  • Agora você pode usar esta estrutura de dados para criar um ExperienceEvent.

    code language-swift
    let event = ExperienceEvent(xdm: xdmData)
    
  • Envie o evento e os dados para o Platform Edge Network.

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

Novamente, vamos implementar esse código no seu projeto Xcode.

  1. Para maior comodidade, você define duas funções no MobileSDK. Navegue até Luma > Luma > Utils > MobileSDK no navegador do Projeto Xcode.

    1. Um para interações do aplicativo. Adicionar este código à função func sendAppInteractionEvent(actionName: String):

      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)
      

      Essa função usa o nome da ação como um parâmetro e

      • define a carga XDM como um dicionário, usando o parâmetro da função,
      • configura um evento de experiência usando o dicionário,
      • envia o evento de experiência usando a API Edge.sendEvent.
    2. E uma para monitoramento de tela. Adicionar este código à função func sendTrackScreenEvent(stateName: String) :

      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)
      

      Esta função usa o nome do estado como um parâmetro e

      • define a carga XDM como um dicionário, usando o parâmetro da função,
      • configura um evento de experiência usando o dicionário,
      • envia o evento de experiência usando a API Edge.sendEvent.
  2. Navegue até Luma > Luma > Views > General > LoginSheet.

    1. Adicione o seguinte código destacado ao fechamento do botão Logon:

      code language-swift
      // Send app interaction event
      MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
      
    2. Adicionar o seguinte código realçado ao modificador onAppear:

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

Validação

  1. Revise a seção instruções de instalação para conectar seu simulador ou dispositivo ao Assurance.

    1. Mova o ícone do Assurance para a esquerda.

    2. Selecione Página inicial na barra de guias e verifique se você vê um ECID, Email e CRM ID na tela inicial.

    3. Selecione Products na barra de guias.

    4. Selecione um produto.

    5. Selecionar {width="15"}.

    6. Selecionar {width="20"}.

    7. Selecionar {width="15"}.

      {width="300"}

  2. Na interface do Assurance, procure os eventos hitReceived do fornecedor com.adobe.edge.konductor.

  3. Selecione o evento e revise os dados XDM no objeto messages. Como alternativa, você pode usar o Copiar Copiar Evento Bruto e usar um editor de texto ou código de sua preferência para colar e inspecionar o evento.

    validação da coleção de dados

Próximas etapas

Agora você deve ter todas as ferramentas para começar a adicionar a coleção de dados ao seu aplicativo. Você pode adicionar mais inteligência à forma como o usuário interage com seus produtos no aplicativo e adicionar mais interação com o aplicativo e chamadas de rastreamento de tela para o aplicativo:

  • Implemente a ordem, o check-out, a cesta vazia e outras funcionalidades no aplicativo e adicione eventos de experiência de comércio relevantes a essa funcionalidade.
  • Repita a chamada para sendAppInteractionEvent com o parâmetro apropriado para rastrear outras interações do aplicativo pelo usuário.
  • Repita a chamada para sendTrackScreenEvent com o parâmetro apropriado para rastrear telas visualizadas pelo usuário no aplicativo.
TIP
Consulte o aplicativo concluído para obter mais exemplos.

Enviar eventos para o Analytics e a Platform

Agora que você coletou os eventos e os enviou para o Platform Edge Network, eles serão enviados para os aplicativos e serviços configurados em sua sequência de dados. Em lições posteriores, você mapeia estes dados para o Adobe Analytics, o Adobe Experience Platform e outras soluções da Adobe Experience Cloud, como o Adobe Target e o Adobe Journey Optimizer.

SUCCESS
Agora você configurou o aplicativo para rastrear o comércio, a interação com o aplicativo e os eventos de rastreamento de tela para o Edge Network da Adobe Experience Platform e todos os serviços definidos no fluxo de dados.
Obrigado por investir seu tempo aprendendo sobre o Adobe Experience Platform Mobile SDK. Se você tiver dúvidas, quiser compartilhar comentários gerais ou tiver sugestões sobre conteúdo futuro, compartilhe-os nesta postagem de Discussão da Comunidade Experience League.

Próximo: Manipular WebViews

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