Módulos compartilhados para a extensão do Adobe Analytics

OBSERVAÇÃO

A Adobe Experience Platform Launch foi reformulada como um conjunto de tecnologias de coleta de dados no Adobe Experience Platform. Como resultado, várias alterações de terminologia foram implementadas na documentação do produto. Consulte o seguinte documento para obter uma referência consolidada das alterações de terminologia.

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 biblioteca de tags que 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 for undefined, a extensão Adobe Analytics não existirá na biblioteca de tags. 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 sua extensão aumente o rastreador com o que for necessário antes que qualquer variável tenha sido aplicada a partir da configuração da extensão do Adobe Analytics ou antes que qualquer beacons tenha sido 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.

AVISO

Seja prudente ao pausar o processo de inicialização do rastreador, pois ele pode atrasar o envio de beacons e, portanto, resultar em dados não coletados (por exemplo, se o usuário sair da página antes que o beacon seja enviado).

Nesta página