Suivi des données d’événement
Découvrez comment suivre les événements dans une application mobile.
L’extension Edge Network fournit une API pour envoyer des événements d’expérience à Platform Edge Network. Un événement d’expérience est un objet contenant des données conformes à la définition de schéma XDM ExperienceEvent. Plus simplement, ces événements capturent ce que les gens font dans votre application mobile. Une fois que Platform Edge Network a reçu des données, ces données peuvent être transférées vers les applications et services configurés dans votre flux de données, tels qu’Adobe Analytics et Experience Platform. En savoir plus sur le Événements d’expérience dans la documentation du produit.
Conditions préalables
- Toutes les dépendances de package sont configurées dans votre projet Xcode.
- Extensions enregistrées dans AppDelegate.
- Extension MobileCore configurée pour utiliser votre
appId
de développement. - SDK importés.
- L’application a été créée et exécutée avec les modifications ci-dessus.
Objectifs d’apprentissage
Dans cette leçon, vous allez :
- comprendre comment structurer les données XDM en fonction d’un schéma ;
- Envoyez un événement XDM basé sur un groupe de champs standard.
- Envoyer un événement XDM basé sur un groupe de champs personnalisés
- Envoyez un événement d’achat XDM.
- Effectuez la validation avec Assurance.
Création d’un événement d’expérience
L’extension Adobe Experience Platform Edge peut envoyer à Adobe Experience Platform Edge Network des événements qui suivent un schéma XDM défini précédemment.
Le processus se passe comme suit…
-
Identifiez l’interaction de l’application mobile que vous essayez de suivre.
-
Vérifiez votre schéma et identifiez l’événement approprié.
-
Passez en revue votre schéma et identifiez les champs supplémentaires qui doivent être utilisés pour décrire l’événement.
-
Créez et renseignez l’objet de données.
-
Créer et envoyer un événement.
-
Validez.
Groupes de champs standard
Pour les groupes de champs standard, le processus se présente comme suit :
-
Dans votre schéma, identifiez les événements que vous essayez de collecter. Dans cet exemple, vous effectuez le suivi d’événements d’expérience commerciale, par exemple un événement de consultation de produit (productViews).
-
Pour construire un objet contenant les données d’événement d’expérience dans votre application, vous devez utiliser un code du type :
code language-swift |
---|
|
Dans ce code :
-
eventType
: décrit l’événement qui s’est produit ; utilisez une valeur connue si possible. -
commerce.productViews.value
: valeur numérique ou booléenne de l’événement. S’il s’agit d’une valeur booléenne (ou « compteur » dans Adobe Analytics), la valeur est toujours définie sur 1. S’il s’agit d’un événement numérique ou monétaire, la valeur peut être > 1.
code language-kotlin |
---|
|
Dans ce code :
-
eventType
: décrit l’événement qui s’est produit ; utilisez une valeur connue si possible. -
commerce.productViews.value
: valeur numérique ou booléenne de l’événement. S’il s’agit d’une valeur booléenne (ou « compteur » dans Adobe Analytics), la valeur est toujours définie sur 1. S’il s’agit d’un événement numérique ou monétaire, la valeur peut être > 1.
-
Dans votre schéma, identifiez toutes les données supplémentaires associées à l’événement d’affichage du produit de commerce. Dans cet exemple, incluez productListItems qui est un ensemble standard de champs utilisés avec n’importe quel événement lié au commerce :
* Notez que **productListItems** est un tableau, de sorte que plusieurs produits peuvent être fournis.
-
Pour ajouter ces données, développez votre objet
xdmData
afin d’inclure des données supplémentaires :
code language-swift |
---|
|
code language-kotlin |
---|
|
- Vous pouvez désormais utiliser cette structure de données pour créer un
ExperienceEvent
:
code language-swift |
---|
|
code language-kotlin |
---|
|
- Et envoyez l’événement et les données à Platform Edge Network à l’aide de l’API
sendEvent
:
code language-swift |
---|
|
code language-kotlin |
---|
|
L’API Edge.sendEvent
est l’équivalent du SDK Mobile AEP des appels API MobileCore.trackAction
et MobileCore.trackState
. Consultez Migration de l’extension mobile Analytics vers Adobe Experience Platform Edge Networkpour plus d’informations.
Vous êtes sur le point d’implémenter ce code dans votre projet.
Votre application comporte différentes actions liées à des produits commerciaux et vous souhaitez envoyer des événements en fonction de ces actions, telles qu’elles sont effectuées par l’utilisateur :
- afficher : se produit lorsqu’un utilisateur ou une utilisatrice consulte un produit spécifique,
- ajouter au panier : lorsqu’un utilisateur appuie sur
- enregistrer pour plus tard : lorsqu’un utilisateur clique sur
- achat : lorsqu’un utilisateur clique sur
Pour implémenter l’envoi d’événements d’expérience liés au commerce de manière réutilisable, vous utilisez une fonction dédiée :
-
Accédez à Luma > Luma > Utils > MobileSDK dans le navigateur de projet Xcode, puis ajoutez les éléments suivants à la fonction
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)
Cette fonction prend le type d’événement d’expérience commerciale et le produit comme paramètres et
- configure la payload XDM sous la forme d’un dictionnaire, à l’aide des paramètres de la fonction ,
- configure un événement d’expérience à l’aide du dictionnaire ;
- envoie l’événement d’expérience à l’aide de l’API
Edge.sendEvent
.
-
Accédez à Luma > Luma > Views > Products > ProductView dans le navigateur de projet Xcode et ajoutez divers appels à la fonction
sendCommerceExperienceEvent
:-
Au niveau du modificateur
.task
, dans la fermetureATTrackingManager.trackingAuthorizationStatus
. Ce modificateur de.task
est appelé lors de l'initialisation et de l'affichage de la vue de produit. Vous souhaitez donc envoyer un événement de vue de produit à ce moment précis.code language-swift // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productViews", product: product)
-
Pour chacun des boutons (
ATTrackingManager.trackingAuthorizationStatus == .authorized
:-
Pour
code language-swift // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "saveForLaters", product: product)
-
Pour
code language-swift // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "productListAdds", product: product)
-
Pour
code language-swift // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent(commerceEventType: "purchases", product: product)
-
-
-
Accédez à Android
func sendCommerceExperienceEvent(commerceEventType: String, product: Product)
.code language-kotlin // Set up a data map, create an experience event and send the event. val xdmData = mapOf( "eventType" to "commerce.$commerceEventType", "commerce" to mapOf(commerceEventType to mapOf("value" to 1)), "productListItems" to listOf( mapOf( "name" to product.name, "priceTotal" to product.price, "SKU" to product.sku ) ) ) val commerceExperienceEvent = ExperienceEvent.Builder().setXdmSchema(xdmData).build() Edge.sendEvent(commerceExperienceEvent, null)
Cette fonction prend le type d’événement d’expérience commerciale et le produit comme paramètres et
- configure la payload XDM en tant que mappage à l’aide des paramètres de la fonction ,
- met en place un événement d’expérience à l’aide de la carte,
- envoie l’événement d’expérience à l’aide de l’API
Edge.sendEvent
.
-
Accédez à app > kotlin+java > com.adobe.luma.tutorial.android > views > ProductView.kt dans le navigateur d’Android Studio, puis ajoutez divers appels à la fonction
sendCommerceExperienceEvent
:-
Au niveau de la fonction composable
LaunchedEffect(Unit)
, vous souhaitez envoyer un événement d’affichage de produit au moment spécifique où un produit est affiché.code language-kotlin // Send productViews commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("productViews", product)
-
Pour chacun des boutons (
scope.launch
duif (MobileSDK.shared.trackingEnabled == TrackingStatus.AUTHORIZED) statement
:-
Pour
code language-kotlin // Send saveForLater commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("saveForLaters", product)
-
Pour
code language-kotlin // Send productListAdds commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("productListAdds", product)
-
Pour
code language-kotlin // Send purchase commerce experience event MobileSDK.shared.sendCommerceExperienceEvent("purchases", product)
-
-
java.util.Map
) comme interface de base pour créer votre payload XDM.Groupes de champs personnalisés
Imaginez que vous souhaitiez effectuer le suivi des vues d’écran et des interactions dans l’application elle-même. N’oubliez pas que vous avez défini un groupe de champs personnalisé pour ce type d’événements.
-
Dans votre schéma, identifiez les événements que vous essayez de collecter.
-
Commencez à construire votre objet.
note note NOTE -
Les groupes de champs standard commencent toujours à la racine de l’objet.
-
Les groupes de champs personnalisés commencent toujours sous un objet unique à votre organisation Experience Cloud,
_techmarketingdemos
dans cet exemple.
-
-
Pour l’événement d’interaction de l’application, vous devez créer un objet du type :
code language-swift |
---|
|
code language-kotlin |
---|
|
- Pour l’événement de suivi d’écran, vous devez construire un objet tel que :
code language-swift |
---|
|
code language-kotlin |
---|
|
- Vous pouvez désormais utiliser cette structure de données pour créer un
ExperienceEvent
.
code language-swift |
---|
|
code language-kotlin |
---|
|
- Envoyez l’événement et les données à Platform Edge Network.
code language-swift |
---|
|
code language-kotlin |
---|
|
Là encore, implémentez ce code dans votre projet.
-
Pour des raisons pratiques, définissez deux fonctions dans MobileSDK. Accédez à Luma > Luma > Utils > MobileSDK dans le navigateur de votre projet Xcode.
-
Une pour les interactions avec l’application. Ajoutez ce code à la fonction
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)
Cette fonction utilise le nom de l’action comme paramètre et
- configure la payload XDM en tant que dictionnaire, à l’aide du paramètre de la fonction ;
- configure un événement d’expérience à l’aide du dictionnaire ;
- envoie l’événement d’expérience à l’aide de l’API
Edge.sendEvent
.
-
Et une pour le suivi d’écran. Ajoutez ce code à la fonction
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)
Cette fonction utilise le nom de l’état comme paramètre et
- configure la payload XDM en tant que dictionnaire, à l’aide du paramètre de la fonction ;
- configure un événement d’expérience à l’aide du dictionnaire ;
- envoie l’événement d’expérience à l’aide de l’API
Edge.sendEvent
.
-
-
Accédez à Luma > Luma > Views > General > Feuille de connexion.
-
Ajoutez le code en surbrillance suivant à la fermeture du bouton de connexion :
code language-swift // Send app interaction event MobileSDK.shared.sendAppInteractionEvent(actionName: "login")
-
Ajoutez le code en surbrillance suivant au modificateur
onAppear
:code language-swift // Send track screen event MobileSDK.shared.sendTrackScreenEvent(stateName: "luma: content: ios: us: en: login")
-
-
Pour des raisons pratiques, définissez deux fonctions dans MobileSDK. Accédez à Android
-
Une pour les interactions avec l’application. Ajoutez ce code à la fonction
fun sendAppInteractionEvent(actionName: String)
:code language-kotlin // Set up a data map, create an experience event and send the event. val xdmData = mapOf( "eventType" to "application.interaction", tenant.value to mapOf( "appInformation" to mapOf( "appInteraction" to mapOf( "name" to actionName, "appAction" to mapOf("value" to 1) ) ) ) ) val appInteractionEvent = ExperienceEvent.Builder().setXdmSchema(xdmData).build() Edge.sendEvent(appInteractionEvent, null)
Cette fonction utilise le nom de l’action comme paramètre et
- configure la payload XDM en tant que mappage, à l’aide du paramètre de la fonction ,
- met en place un événement d’expérience à l’aide de la carte,
- envoie l’événement d’expérience à l’aide de l’API
Edge.sendEvent
.
-
Et une pour le suivi d’écran. Ajoutez ce code à la fonction
fun sendTrackScreenEvent(stateName: String)
:code language-kotlin // Set up a data map, create an experience event and send the event. val xdmData = mapOf( "eventType" to "application.scene", tenant.value to mapOf( "appInformation" to mapOf( "appStateDetails" to mapOf( "screenType" to "App", "screenName" to stateName, "screenView" to mapOf("value" to 1) ) ) ) ) val trackScreenEvent = ExperienceEvent.Builder().setXdmSchema(xdmData).build() Edge.sendEvent(trackScreenEvent, null)
Cette fonction utilise le nom de l’état comme paramètre et
- configure la payload XDM en tant que mappage, à l’aide du paramètre de la fonction ,
- met en place un événement d’expérience à l’aide de la carte,
- envoie l’événement d’expérience à l’aide de l’API
Edge.sendEvent
.
-
-
Accédez à Android
-
Ajoutez le code en surbrillance suivant à l’événement Button onClick :
code language-kotlin // Send app interaction event MobileSDK.shared.sendAppInteractionEvent("login")
-
Ajoutez le code en surbrillance suivant à la fonction composable
LaunchedEffect(Unit)
:code language-kotlin // Send track screen event MobileSDK.shared.sendTrackScreenEvent("luma: content: android: us: en: login")
-
Validation
-
Consultez la section instructions de configuration pour connecter votre simulateur ou votre appareil à Assurance.
- Déplacez l’icône Assurance vers la gauche.
- Sélectionnez Accueil dans la barre d’onglets et vérifiez que vous voyez un ECID, E-mail et ID CRM sur l’écran d’accueil.
- Sélectionnez Products dans la barre d’onglets.
- Sélectionnez un produit.
- Sélectionnez
- Sélectionnez
- Sélectionnez


-
Dans l’interface utilisateur d’Assurance, recherchez les événements hitReceived du fournisseur com.adobe.edge.konductor.
-
Sélectionnez l’événement et passez en revue les données XDM dans l’objet messages. Vous pouvez également utiliser
Étapes suivantes
Vous devriez maintenant disposer de tous les outils nécessaires pour commencer à ajouter la collecte de données à votre application. Vous pouvez ajouter plus d’informations sur la manière dont l’utilisateur interagit avec vos produits dans l’application et vous pouvez ajouter d’autres interactions d’application et appels de suivi d’écran à l’application :
- Mettez en œuvre la commande, le passage en caisse, le panier vide et d’autres fonctionnalités dans l’application et ajoutez des événements d’expérience commerciale pertinents à cette fonctionnalité.
- Répétez l’appel à
sendAppInteractionEvent
avec le paramètre approprié pour suivre d’autres interactions de l’application par l’utilisateur. - Répétez l’appel à
sendTrackScreenEvent
avec le paramètre approprié pour effectuer le suivi des écrans affichés par l’utilisateur dans l’application.
Envoi d’événements à Analytics et Platform
Maintenant que vous avez collecté les événements et que vous les avez envoyés à Platform Edge Network, ils sont envoyés aux applications et services configurés dans votre flux de données. Dans les leçons ultérieures, vous mapperez ces données à Adobe Analytics, Adobe Experience Platform et à d’autres solutions Adobe Experience Cloud (comme Adobe Target et Adobe Journey Optimizer).
Suivant : Gérer les vues web