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

NOTE
O Adobe Experience Platform Launch foi reformulado como um conjunto de tecnologias de coleção de dados na 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 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.

WARNING
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).
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743