adobe.target.triggerView (viewName, options) - at.js 2.x
Essa função pode ser chamada sempre que uma nova página é carregada ou quando um componente em uma página é renderizado novamente. adobe.target.triggerView()
deve ser implementado para aplicativos de página única (SPA) para usar o Visual Experience Composer (VEC) para criar atividades do A/B Test e Experience Targeting (XT). Se adobe.target.triggerView()
não estiver implementado no site, o VEC não poderá ser usado para SPA. Para obter mais informações, consulte Implementação do aplicativo de página única.
TRUE: O valor padrão da página é true. Quando page=true, as notificações são enviadas ao Target backend para aumentar a contagem de impressões.
Uma notificação é sempre enviada por padrão quando um triggerView
é chamado, exceto quando options > page é definido como false.
FALSE: quando page=false, as notificações não são enviadas para aumentar a contagem de impressões. Essa abordagem deve ser usada quando você deseja apenas renderizar novamente um componente em uma página com uma oferta.
Observação: as ofertas de código personalizado no VEC não são renderizadas novamente quando triggerView()
é chamado com {page: false}
como a opção.
Exemplo: Verdadeiro
Chamada triggerView()
para enviar uma notificação para o back-end do Target para incrementar as impressões da atividade e outras métricas.
adobe.target.triggerView("homeView")
Exemplo: Falso
triggerView()
chamada para não ter notificações enviadas ao backend Target para contagem de impressões.
adobe.target.triggerView("homeView", {page: false})
Exemplo: encadeamento de promessas com getoffers()
e applyOffers()
Para executar triggerView()
quando a promessa getOffers()
for resolvida, é importante executar triggerView()
no bloco final, conforme mostrado no exemplo abaixo. Isso é necessário para que o VEC detecte Views
no modo de criação.
adobe.target.getOffers({
'request': {
'prefetch': {
'views': [{
'parameters': {}
}]
}
}
}).then(function(response) {
// Apply Offers
adobe.target.applyOffers({
response: response
});
}).catch(function(error) {
console.log("AT: getOffers failed - Error", error);
}).finally(() => {
// Trigger View call, assuming pageView is defined elsewhere
adobe.target.triggerView(pageView, {
page: true
});
console.log('AT: View triggered on : ' + pageView);
});
Exemplo: Melhor compatibilidade de triggerView()
com Adobe Visual Editing Helper extension
Considere o seguinte ao usar a extensão Auxiliar de Edição Visual do Adobe:
Devido às novas políticas de Manifesto V3 do Google para extensões do Chrome, o Visual Editing Helper extension deve aguardar o evento DOMContentLoaded
antes de carregar as bibliotecas do Target no VEC. Esse atraso pode fazer com que as páginas da Web acionem a chamada triggerView()
antes que as bibliotecas de criação estejam prontas, resultando no preenchimento da exibição ao carregar.
Para atenuar esse problema, use um ouvinte para o evento de página load
.
Este é um exemplo de implementação:
function triggerViewIfLoaded() {
adobe.target.triggerView("homeView");
}
if (document.readyState === "complete") {
// If the page is already loaded
triggerViewIfLoaded();
} else {
// If the page is not yet loaded, set up an event listener
window.addEventListener("load", triggerViewIfLoaded);
}