Módulos compartilhados para a extensão do Adobe Analytics
A extensão do Adobe Analytics fornece dois módulos compartilhados diferentes que você pode integrar ao seu aplicativo de experiência. Esses módulos são abordados nas seções abaixo.
get-tracker
Antes de enviar beacons, o Adobe Analytics deve inicializar o objeto de rastreamento. O processo de inicialização começa carregando o AppMeasurement, seguido pela criação de um objeto de rastreador.
Você poderá acessar o objeto do rastreador depois que ele for totalmente inicializado usando o módulo compartilhado get-tracker
da seguinte maneira:
var getTracker = turbine.getSharedModule('adobe-analytics', 'get-tracker');
getTracker().then(function(tracker) {
// Use tracker in some way
});
Verificando se o Adobe Analytics foi instalado
É possível que o Adobe Analytics não tenha sido instalado ou incluído na mesma tag de biblioteca que a sua extensão. Por isso, é altamente recomendável que você verifique esse caso no seu código e lide com ele adequadamente. O seguinte JavaScript é um exemplo de como você pode implementar isso:
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.");
}
Se getTracker
está undefined
, a extensão do Adobe Analytics não existe na tag de biblioteca. Você pode personalizar a mensagem registrada para refletir com precisão qual funcionalidade poderá ser perdida se o Adobe Analytics não estiver instalado.
augment-tracker
Depois que o objeto de rastreamento é inicializado, a próxima etapa do processo é a ampliação. Essa etapa permite que a extensão amplie o rastreador com o que for necessário antes que qualquer variável seja aplicada da configuração de extensão do Adobe Analytics ou antes que qualquer beacon seja enviado.
Além disso, a extensão tem a oportunidade de pausar o processo de inicialização do rastreador enquanto a extensão executa qualquer tarefa assíncrona própria, como buscar dados ou JavaScript de um servidor.
Você pode implementar o módulo augment-tracker
da seguinte maneira:
var augmentTracker = turbine.getSharedModule('adobe-analytics', 'augment-tracker');
augmentTracker(function(tracker) {
// Augment tracker in some way
});
A função transmitida para augmentTracker()
será chamada assim que a fase de aumento do processo de inicialização do rastreador for atingida.
Se sua extensão precisar concluir uma tarefa assíncrona antes de aumentar o rastreador, você poderá retornar uma promessa da sua função da seguinte maneira:
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()
});
});
Ao retornar uma promessa, sua extensão sinaliza ao Adobe Analytics que ela deve pausar o processo de inicialização do rastreador até que a promessa seja resolvida.