Saiba como carregar, passar parâmetros para solicitação de página e acionar uma chamada do Target de sua página do site usando uma regra do Launch. As informações da página da Web são recuperadas e passadas como parâmetros usando a Camada de dados do cliente do Adobe, que permite coletar e armazenar dados sobre a experiência dos visitantes em uma página da Web e, em seguida, facilitar o acesso a esses dados.
A Camada de dados do cliente do Adobe é uma camada de dados orientada por eventos. Quando a camada de dados Página de AEM é carregada, ela acionará um evento cmp:show
. No vídeo, a regra Launch Library Loaded
é invocada usando um evento personalizado. Abaixo, você pode encontrar os trechos de código usados no vídeo para o evento personalizado, bem como para os elementos de dados.
Na propriedade Launch, adicione um novo Event ao Rule
Toque no botão Abrir editor e cole no seguinte trecho de código. Este código deve ser adicionado ao Configuração do Evento e a Ação subsequente.
// Define the event handler function
var pageShownEventHandler = function(coreComponentEvent) {
// Check to ensure event trigger via AEM Core Components is shaped correctly
if (coreComponentEvent.hasOwnProperty("eventInfo") &&
coreComponentEvent.eventInfo.hasOwnProperty("path")) {
// Debug the AEM Component path the show event is associated with
console.debug("cmp:show event: " + coreComponentEvent.eventInfo.path);
// Create the Launch Event object
var launchEvent = {
// Include the ID of the AEM Component that triggered the event
id: coreComponentEvent.eventInfo.path,
// Get the state of the AEM Component that triggered the event
component: window.adobeDataLayer.getState(coreComponentEvent.eventInfo.path)
};
//Trigger the Launch Rule, passing in the new `event` object
// the `event` obj can now be referenced by the reserved name `event` by other Launch data elements
// i.e `event.component['someKey']`
trigger(launchEvent);
}
}
// With the AEM Core Component event handler, that proxies the event and relevant information to Adobe Launch, defined above...
// Initialize the adobeDataLayer global object in a safe way
window.adobeDataLayer = window.adobeDataLayer || [];
// Push the event custom listener onto the Adobe Data Layer
window.adobeDataLayer.push(function (dataLayer) {
// Add event listener for the `cmp:show` event, and the custom `pageShownEventHandler` function as the callback
dataLayer.addEventListener("cmp:show", pageShownEventHandler);
});
Uma função personalizada define o pageShownEventHandler
e escuta eventos emitidos pelos Componentes principais AEM, deriva as informações relevantes do Componente principal, agrupa-o em um objeto de evento e aciona o Evento de inicialização com as informações do evento derivadas na carga.
A Regra do Launch é acionada usando a função trigger(...)
do Launch, que é somente disponível na definição do trecho de código personalizado do evento de uma regra.
A função trigger(...)
pega um objeto de evento como parâmetro que, por sua vez, é exposto em Elementos de dados do Launch, por outro nome reservado no Launch chamado event
. Os elementos de dados no Launch agora podem fazer referência aos dados desse objeto de evento do objeto event
usando a sintaxe como event.component['someKey']
.
Se trigger(...)
for usado fora do contexto do tipo de evento Código personalizado de um evento (por exemplo, em uma Ação), o erro JavaScript trigger is undefined
será lançado no site integrado à propriedade do Launch.
Os Elementos de dados do Adobe Launch mapeiam os dados do objeto de evento acionado no evento personalizado Página exibida para variáveis disponíveis no Adobe Target, por meio do Tipo de elemento de dados de código personalizado da extensão principal.
if (event && event.id) {
return event.id;
}
Esse código retorna a ID exclusiva gerada pelo Componente principal.
if (event && event.component && event.component.hasOwnProperty('repo:path')) {
return event.component['repo:path'];
}
Esse código retorna o caminho da página AEM.
if (event && event.component && event.component.hasOwnProperty('dc:title')) {
return event.component['dc:title'];
}
Esse código retorna o título AEM página.
> AT: [page-init] Adobe Target content delivery is disabled. Ensure that you can save cookies to your current domain, there is no "mboxDisable" cookie and there is no "mboxDisable" parameter in the query string.
Os clientes do Target às vezes usam instâncias baseadas em nuvem com o Target para testes ou fins de prova de conceito simples. Esses domínios e muitos outros fazem parte da Lista de sufixos públicos .
Se estiver usando esses domínios, os navegadores modernos não salvarão os cookies, a menos que você personalize a configuração cookieDomain
usando targetGlobalSettings()
.
window.targetGlobalSettings = {
cookieDomain: 'your-domain' //set the cookie directly on this subdomain, for example: 'publish-p1234-e5678.adobeaemcloud.com'
};