Modules partagés pour l’extension Adobe Analytics

NOTE
Adobe Experience Platform Launch est désormais une suite de technologies destinées à la collecte de données dans Adobe Experience Platform. Plusieurs modifications terminologiques ont par conséquent été apportées à la documentation du produit. Reportez-vous au document suivant pour consulter une référence consolidée des modifications terminologiques.

L’extension Adobe Analytics fournit deux modules partagés différents que vous pouvez intégrer à votre application d’expérience. Ces modules sont traités dans les sections ci-dessous.

get-tracker

Avant d’envoyer des balises, Adobe Analytics doit initialiser l’objet de suivi. Le processus d’initialisation commence par le chargement de AppMeasurement, suivi par la création d’un objet de suivi.

Vous pouvez accéder à l’objet de suivi après son initialisation complète en utilisant le module partagé get-tracker comme suit :

var getTracker = turbine.getSharedModule('adobe-analytics', 'get-tracker');

getTracker().then(function(tracker) {
  // Use tracker in some way
});

Vérification de l’installation d’Adobe Analytics

Il est possible qu’Adobe Analytics n’ait pas été installé ou inclus dans la même bibliothèque de balise que votre extension. C’est pourquoi il est vivement recommandé de vérifier si tel est le cas dans votre code et de gérer cette situation de manière appropriée. Le code JavaScript suivant est un exemple d’implémentation de cette méthode :

var getTracker = turbine.getSharedModule('adobe-analytics', 'get-tracker');

if (getTracker) {
  getTracker().then(function(tracker) {
    // Use tracker in some way
  });
} else {
  turbine.logger.error("The Adobe Analytics extension is required for Extension XYZ to function properly.");
}

Si le getTracker est undefined, l’extension Adobe Analytics n’existe pas dans la bibliothèque de balises. Vous pouvez personnaliser le message consigné afin de refléter précisément les fonctionnalités qui risquent d’être perdues si Adobe Analytics n’est pas installé.

augment-tracker

Une fois l’objet de suivi initialisé, l’étape suivante du processus est l’augmentation. Cette étape donne à votre extension la possibilité d’augmenter le suivi avec tout ce qui est nécessaire avant que des variables aient été appliquées à partir de la configuration de l’extension Adobe Analytics ou avant que des balises aient été envoyées.

En outre, votre extension a la possibilité de suspendre le processus d’initialisation de l’outil de suivi pendant que votre extension effectue toute tâche asynchrone propre, telle que la récupération de données ou de JavaScript à partir d’un serveur.

Vous pouvez implémenter le module augment-tracker de la manière suivante :

var augmentTracker = turbine.getSharedModule('adobe-analytics', 'augment-tracker');

augmentTracker(function(tracker) {
  // Augment tracker in some way
});

La fonction transmise à augmentTracker() sera appelée dès que la phase d’augmentation du processus d’initialisation de l’outil de suivi sera atteinte.

Si votre extension doit terminer une tâche asynchrone avant d’augmenter le suivi, vous pouvez renvoyer une promesse à partir de votre fonction comme suit :

var Promise = require('@adobe/reactor-promise');
var augmentTracker = turbine.getSharedModule('adobe-analytics', 'augment-tracker');

augmentTracker(function(tracker) {
  return new Promise(function(resolve) {
    // Augment the tracker object, then call resolve()
  });
});

En renvoyant une promesse, votre extension signale à Adobe Analytics qu’il doit interrompre le processus d’initialisation du suivi jusqu’à ce que la promesse soit résolue.

WARNING
Soyez prudent lors de la suspension du processus d’initialisation du suivi, car cela peut retarder l’envoi des balises et, donc, générer des données non collectées (par exemple, si l’utilisateur quitte la page avant que la balise ne soit envoyée).
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743