Modules partagés pour l’extension Adobe Analytics
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.