Esta página descreve os tipos de evento do Adobe Experience Platform fornecidos pela extensão de tag do SDK da Web da Adobe Experience Platform. Eles são usados para regras de build e não devem ser confundidas com o eventType
campo no XDM.
Normalmente, sua propriedade teria uma ou mais regras usando o Enviar evento ação para enviar eventos ao Adobe Experience Platform Edge Network. Cada vez que um evento é enviado ao Edge Network, uma resposta é retornada ao navegador com dados úteis. Sem o Enviar evento concluído tipo de evento, você não teria acesso a esses dados retornados.
Para acessar os dados retornados, crie uma regra separada e adicione um Enviar evento concluído para a regra. Essa regra é acionada sempre que uma resposta bem-sucedida é recebida do servidor como resultado de um Enviar evento ação.
Quando um Enviar evento concluído evento aciona uma regra, ele fornece dados retornados do servidor que podem ser úteis para realizar determinadas tarefas. Normalmente, você adicionará um Código personalizado ação (a partir do Núcleo extensão) para a mesma regra que contém a variável Enviar evento concluído evento. No Código personalizado ação, seu código personalizado terá acesso a uma variável chamada event
. Este event
conterá os dados retornados do servidor.
Sua regra para tratar dados retornados da Rede de borda pode ser semelhante a:
Abaixo estão alguns exemplos de como executar determinadas tarefas usando o Código personalizado ação nesta regra.
Na ação Código personalizado, que está na regra para manipular dados de resposta, você pode acessar propostas de personalização que foram retornadas do servidor. Para fazer isso, você digitaria o seguinte código personalizado:
var propositions = event.propositions;
Se event.propositions
existe, é uma matriz que contém objetos de apresentação de personalização. As propostas incluídas no array são determinadas, em grande parte, pela forma como o evento foi enviado ao servidor.
Para este primeiro cenário, suponha que você não tenha verificado a Renderizar decisões e não forneceram nenhuma escopos de decisão dentro do Enviar evento ação responsável por enviar o evento.
Neste exemplo, a variável propositions
matriz contém apenas apresentações relacionadas ao evento que são elegíveis para renderização automática.
A variável propositions
A matriz pode ser semelhante a este exemplo:
[
{
"id": "AT:eyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ9",
"scope": "__view__",
"items": [
{
"id": "11223344",
"schema": "https://ns.adobe.com/personalization/dom-action",
"data": {
"content": "<h2 style=\"color: yellow\">An HTML proposition.</h2>",
"selector": "#hero",
"type": "setHtml"
},
"meta": {}
}
],
"renderAttempted": false
},
{
"id": "AT:PyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ8",
"scope": "__view__",
"items": [
{
"id": "11223345",
"schema": "https://ns.adobe.com/personalization/dom-action",
"data": {
"content": "<h2 style=\"color: yellow\">Another HTML proposition.</h2>",
"selector": "#sidebar",
"type": "setHtml"
},
"meta": {}
}
],
"renderAttempted": false
}
]
Ao enviar o evento, a variável Renderizar decisões A caixa de seleção não estava marcada, portanto, o SDK não tentou renderizar automaticamente qualquer conteúdo. No entanto, o SDK ainda recuperou automaticamente o conteúdo qualificado para renderização automática e o forneceu para renderização manual, se você desejar. Observe que cada objeto de proposta tem seu renderAttempted
propriedade definida como false
.
Se, em vez disso, você tivesse Renderizar decisões ao enviar o evento, o SDK tentaria renderizar qualquer proposta qualificada para renderização automática. Como consequência, cada um dos objetos de proposta teria seu renderAttempted
propriedade definida como true
. Não haveria necessidade de renderizar manualmente essas apresentações nesse caso.
Até agora, você só acessou um conteúdo de personalização qualificado para renderização automática (por exemplo, qualquer conteúdo criado no Visual Experience Composer do Adobe Target). Para recuperar qualquer conteúdo de personalização não qualificados para renderização automática, solicite o conteúdo fornecendo escopos de decisão usando o Escopos de decisão no campo Enviar evento ação. Um escopo é uma cadeia de caracteres que identifica uma proposta específica que você deseja recuperar do servidor.
A variável Enviar evento ação seria semelhante a:
Neste exemplo, se as apresentações forem encontradas no servidor que corresponde à variável salutation
ou discount
escopo, elas são retornadas e incluídas no propositions
matriz. Esteja ciente de que as apresentações qualificadas para renderização automática continuarão a ser incluídas no propositions
independentemente de como você configura o Renderizar decisões ou Escopos de decisão campos no Enviar evento ação. A variável propositions
nesse caso, a matriz seria semelhante a este exemplo:
[
{
"id": "AT:cZJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ2",
"scope": "salutation",
"items": [
{
"schema": "https://ns.adobe.com/personalization/json-content-item",
"data": {
"id": "4433221",
"content": {
"salutation": "Welcome, esteemed visitor!"
}
},
"meta": {}
}
],
"renderAttempted": false
},
{
"id": "AT:FZJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ0",
"scope": "discount",
"items": [
{
"schema": "https://ns.adobe.com/personalization/html-content-item",
"data": {
"id": "4433222",
"content": "<div>50% off your order!</div>",
"format": "text/html"
},
"meta": {}
}
],
"renderAttempted": false
},
{
"id": "AT:eyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ9",
"scope": "__view__",
"items": [
{
"id": "11223344",
"schema": "https://ns.adobe.com/personalization/dom-action",
"data": {
"content": "<h2 style=\"color: yellow\">An HTML proposition.</h2>",
"selector": "#hero",
"type": "setHtml"
},
"meta": {}
}
],
"renderAttempted": false
},
{
"id": "AT:PyJhY3Rpdml0eUlkIjoiMTI3MDE5IiwiZXhwZXJpZW5jZUlkIjoiMCJ8",
"scope": "__view__",
"items": [
{
"id": "11223345",
"schema": "https://ns.adobe.com/personalization/dom-action",
"data": {
"content": "<h2 style=\"color: yellow\">Another HTML proposition.</h2>",
"selector": "#sidebar",
"type": "setHtml"
},
"meta": {}
}
],
"renderAttempted": false
}
]
Nesse ponto, é possível renderizar o conteúdo da proposta conforme você julgar necessário. Neste exemplo, a proposta que corresponde ao parâmetro discount
o escopo é uma apresentação de HTML criada usando o Experience Composer baseado em formulário do Adobe Target. Suponha que você tenha um elemento na página com a ID de daily-special
e desejarem renderizar o conteúdo do discount
apresentação na daily-special
elemento. Faça o seguinte:
event
objeto.discount
.daily-special
elemento na página e substitua seu HTML pelo conteúdo personalizado.Seu código personalizado no Código personalizado A ação do pode parecer como a seguir:
var propositions = event.propositions;
var discountProposition;
if (propositions) {
// Find the discount proposition, if it exists.
for (var i = 0; i < propositions.length; i++) {
var proposition = propositions[i];
if (proposition.scope === "discount") {
discountProposition = proposition;
break;
}
}
}
var discountHtml;
if (discountProposition) {
// Find the item from proposition that should be rendered.
// Rather than assuming there a single item that has HTML
// content, find the first item whose schema indicates
// it contains HTML content.
for (var j = 0; j < discountProposition.items.length; j++) {
var discountPropositionItem = discountProposition.items[i];
if (discountPropositionItem.schema === "https://ns.adobe.com/personalization/html-content-item") {
discountHtml = discountPropositionItem.data.content;
break;
}
}
}
if (discountHtml) {
// Discount HTML exists. Time to render it.
var dailySpecialElement = document.getElementById("daily-special");
dailySpecialElement.innerHTML = discountHtml;
}
O conteúdo de personalização retornado do Adobe Target inclui tokens de resposta, que são detalhes sobre a atividade, oferta, experiência, perfil do usuário, informações geográficas e muito mais. Esses detalhes podem ser compartilhados com ferramentas de terceiros ou usados para depuração. Os tokens de resposta podem ser configurados na interface do usuário do Adobe Target.
Na ação Código personalizado, que está na regra para manipular dados de resposta, você pode acessar propostas de personalização que foram retornadas do servidor. Para fazer isso, digite o seguinte código personalizado:
var propositions = event.propositions;
Se event.propositions
existe, é uma matriz que contém objetos de apresentação de personalização. Consulte Renderizar manualmente o conteúdo personalizado para obter mais informações sobre o conteúdo de result.propositions
.
Suponha que você deseje coletar todos os nomes de atividades de todas as propostas que foram renderizadas automaticamente pelo SDK da Web e enviá-las para um único array. Em seguida, você pode enviar o array único para terceiros. Nesse caso, escreva um código personalizado dentro do Código personalizado ação para:
event
objeto.meta
que é um objeto que contém tokens de resposta.var propositions = event.propositions;
if (propositions) {
var activityNames = [];
propositions.forEach(function(proposition) {
if (proposition.renderAttempted) {
proposition.items.forEach(function(item) {
if (item.meta) {
// item.meta contains the response tokens.
var activityName = item.meta["activity.name"];
// Ignore duplicates
if (activityNames.indexOf(activityName) === -1) {
activityNames.push(activityName);
}
}
});
}
});
// Now that activity names are in an array,
// you can send them to a third party or use
// them in some other way.
}