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

OBSERVAÇÃO

A Adobe Experience Platform Launch está sendo reformulada como um conjunto de tecnologias de coleta de dados no Experience Platform. Essas alterações serão implementadas em toda a documentação do produto nas próximas semanas. Consulte o seguinte document 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 do Platform Launch 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 é undefined, a extensão do Adobe Analytics não existe na biblioteca do Platform Launch. 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 oferece a sua extensão a oportunidade de ampliar o rastreador com qualquer item necessário antes que qualquer variável seja aplicada da configuração da extensão do Adobe Analytics ou antes que qualquer beacon 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