Referência a objeto do satélite
Este documento serve como referência para o objeto _satellite
do lado do cliente e as várias funções que você pode executar com ele.
track
Código
_satellite.track(identifier: string [, detail: *] )
Exemplo
_satellite.track('contact_submit', { name: 'John Doe' });
track
aciona todas as regras usando o tipo de evento Chamada direta que foi configurado com o identificador especificado na extensão de tag principal. O exemplo acima aciona todas as regras usando um tipo de evento Chamada direta em que o identificador configurado é contact_submit
. Um objeto opcional contendo informações relacionadas também é transmitido. O objeto detalhado pode ser acessado digitando %event.detail%
em um campo de texto em uma condição ou ação ou event.detail
dentro do editor de códigos em uma condição ou ação de código personalizado.
getVar
Código
_satellite.getVar(name: string) => *
Exemplo
var product = _satellite.getVar('product');
No exemplo fornecido, se um elemento de dados existir com um nome correspondente, o valor do elemento de dados será retornado. Se não houver nenhum elemento de dados correspondente, ele verificará se uma variável personalizada com um nome correspondente foi definida anteriormente usando o _satellite.setVar()
. Se uma variável personalizada correspondente for encontrada, seu valor será retornado.
%
) para fazer referência a variáveis para muitos campos de formulário na implementação de tags, reduzindo a necessidade de chamar _satellite.getVar()
. Por exemplo, usar %product%
acessará o valor do elemento de dados do produto ou a variável personalizada.Quando um evento aciona uma regra, você pode passar o objeto event
correspondente da regra para _satellite.getVar()
da seguinte maneira:
// event refers to the calling rule's event
var rule = _satellite.getVar('return event rule', event);
setVar
setVar
é totalmente separado de um elemento de dados especificado nas Marcas.Código
_satellite.setVar(name: string, value: *)
Exemplo
_satellite.setVar('product', 'Circuit Pro');
setVar()
define uma variável personalizada com determinado nome e valor. O valor da variável pode ser acessado posteriormente usando _satellite.getVar()
.
Como opção, é possível definir várias variáveis de uma vez transmitindo um objeto em que as chaves são nomes de variáveis e os valores são os respectivos valores de variáveis.
_satellite.setVar({ 'product': 'Circuit Pro', 'category': 'hobby' });
getVisitorId
Código
_satellite.getVisitorId() => Object
Exemplo
var visitorIdInstance = _satellite.getVisitorId();
Se a extensão Adobe Experience Cloud ID for instalada na propriedade, esse método retornará a instância da ID de visitante. Consulte a documentação do Experience Cloud ID Service para obter mais informações.
logger
Código
_satellite.logger.log(message: string)
_satellite.logger.info(message: string)
_satellite.logger.warn(message: string)
_satellite.logger.error(message: string)
Exemplo
_satellite.logger.error('No product ID found.');
O objeto logger
permite que uma mensagem seja registrada no console do navegador. A mensagem será exibida somente se a depuração de tag for habilitada pelo usuário (chamando _satellite.setDebug(true)
ou usando uma extensão apropriada no navegador).
Registro de avisos de descontinuação
_satellite.logger.deprecation(message: string)
Exemplo
_satellite.logger.deprecation('This method is no longer supported, please use [new example] instead.');
Isso registra um aviso no console do navegador. A mensagem é exibida independentemente de a depuração da tag ser ou não ativada pelo usuário.
cookie
cookie
_satellite.cookie
contém funções para ler e gravar cookies. Essa é uma cópia exposta do js-cookie de biblioteca de terceiros. Para obter detalhes sobre o uso mais avançado desta biblioteca, consulte a documentação do cookie js.
Definir um cookie cookie-set
Para definir um cookie, use _satellite.cookie.set()
.
Código
_satellite.cookie.set(name: string, value: string[, attributes: Object])
setCookie
de definição de cookies, o terceiro argumento (opcional) para essa chamada de função era um número inteiro que indicava o tempo de expiração do cookie em dias. Neste novo método, um objeto "atributos" é aceito como um terceiro argumento. Para definir uma expiração para um cookie usando o novo método, você deve fornecer uma propriedade expires
no objeto de atributos e defini-la com o valor desejado. Isso é demonstrado no exemplo abaixo.Exemplo
A chamada de função a seguir grava um cookie que expira em uma semana.
_satellite.cookie.set('product', 'Circuit Pro', { expires: 7 });
Recuperar um cookie cookie-get
Para recuperar um cookie, use _satellite.cookie.get()
.
Código
_satellite.cookie.get(name: string) => string
Exemplo
A chamada de função a seguir lê um cookie definido anteriormente.
var product = _satellite.cookie.get('product');
Remover um cookie cookie-remove
Para remover um cookie, use _satellite.cookie.remove()
.
Código
_satellite.cookie.remove(name: string)
Exemplo
A chamada de função a seguir remove um cookie definido anteriormente.
_satellite.cookie.remove('product');
buildInfo
Código
_satellite.buildInfo
Esse objeto contém informações sobre o build da biblioteca de tempo de execução de tag atual. O objeto contém as seguintes propriedades:
turbineVersion
Isso fornece a versão Turbine usada na biblioteca atual.
turbineBuildDate
A data da ISO 8601 quando a versão de Turbine usada no container foi criada.
buildDate
A data da ISO 8601 quando a biblioteca atual foi criada.
Este exemplo demonstra os valores do objeto:
{
turbineVersion: "14.0.0",
turbineBuildDate: "2016-07-01T18:10:34Z",
buildDate: "2016-03-30T16:27:10Z"
}
environment
Esse objeto contém informações sobre o ambiente no qual a biblioteca de tempo de execução de tag atual está implantada.
Código
_satellite.environment
O objeto contém as seguintes propriedades:
{
id: "ENbe322acb4fc64dfdb603254ffe98b5d3",
stage: "development"
}
id
stage
development
, staging
e production
.notify
_satellite.logger.log()
.Código
_satellite.notify(message: string[, level: number])
Exemplo
_satellite.notify('Hello world!');
notify
registra uma mensagem no console do navegador. A mensagem será exibida somente se a depuração de tag for habilitada pelo usuário (chamando _satellite.setDebug(true)
ou usando uma extensão de navegador apropriada).
Um nível de registro opcional poderá ser passado, o que afetará o estilo e a filtragem da mensagem que está sendo registrada. Os níveis suportados são os seguintes:
3 - Mensagens informativas.
4 - Mensagens de aviso.
5 - Mensagens de erro.
Se você não fornecer um nível de registro ou passar qualquer outro valor de nível, a mensagem será registrada como uma mensagem regular.
setCookie
setCookie
_satellite.cookie.set()
.Código
_satellite.setCookie(name: string, value: string, days: number)
Exemplo
_satellite.setCookie('product', 'Circuit Pro', 3);
Isso define um cookie no navegador do usuário. O cookie persistirá pelo número de dias especificados.
readCookie
_satellite.cookie.get()
.Código
_satellite.readCookie(name: string) => string
Exemplo
var product = _satellite.readCookie('product');
Isso lê um cookie do navegador do usuário.
removeCookie
_satellite.cookie.remove()
.Código
_satellite.removeCookie(name: string)
Exemplo
_satellite.removeCookie('product');
Isso remove um cookie do navegador do usuário.
Funções de depuração
As funções a seguir não devem ser acessadas do código de produção. Elas são destinados apenas à depuração e serão alteradas ao longo do tempo, conforme necessário.
container
Código
_satellite._container
Exemplo
monitor
Código
_satellite._monitors
Exemplo
Amostra
Na página da Web que está executando uma biblioteca de tags, adicione um trecho de código ao HTML. Normalmente, o código é inserido no elemento <head>
antes do elemento <script>
que carrega a biblioteca de tags. Isso permite que o monitor capture os primeiros eventos do sistema que ocorrerem na biblioteca de tags. Por exemplo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window._satellite = window._satellite || {};
window._satellite._monitors = window._satellite._monitors || [];
window._satellite._monitors.push({
ruleTriggered: function (event) {
console.log(
'rule triggered',
event.rule
);
},
ruleCompleted: function (event) {
console.log(
'rule completed',
event.rule
);
},
ruleConditionFailed: function (event) {
console.log(
'rule condition failed',
event.rule,
event.condition
);
}
});
</script>
<script src="//assets.adobedtm.com/launch-EN5bfa516febde4b22b3e7c6f96f6b439f.min.js"
async></script>
</head>
<body>
<h1>Click me!</h1>
</body>
</html>
No elemento do primeiro script, como a biblioteca de tags ainda não foi carregada, o objeto _satellite
é criado e uma matriz é inicializada em _satellite._monitors
. O script então adiciona um objeto de monitor a essa matriz. O objeto do monitor pode especificar os seguintes métodos que serão chamados posteriormente pela biblioteca de tags:
ruleTriggered
Essa função é chamada depois que um evento aciona uma regra, mas antes de as condições e ações da regra terem sido processadas. O objeto do evento transmitido para ruleTriggered
contém informações sobre a regra que foi acionada.
ruleCompleted
Essa função é chamada depois que uma regra é totalmente processada. Em outras palavras, o evento ocorreu, todas as condições foram passadas e todas as ações foram executadas. O objeto do evento passado para ruleCompleted
contém informações sobre a regra que foi concluída.
ruleConditionFailed
Essa função é chamada depois que uma regra é acionada e uma de suas condições falha. O objeto do evento transmitido para ruleConditionFailed
contém informações sobre a regra que foi acionada e a condição que falhou.
Se ruleTriggered
for chamado, ruleCompleted
ou ruleConditionFailed
será chamado logo depois disso.
ruleTriggered
, ruleCompleted
e ruleConditionFailed
). As tags no Adobe Experience Platform funcionam com quaisquer métodos compatíveis que o monitor tenha fornecido.Teste do monitor
O exemplo acima especifica todos os três métodos no monitor. Quando são chamados, o monitor faz logout de informações relevantes. Para testar isso, configure duas regras na biblioteca de tags:
- Uma regra com um evento de clique e uma condição do navegador que é transmitida somente se o navegador for Chrome.
- Uma regra com um evento de clique e uma condição do navegador que é transmitida somente se o navegador for Firefox.
Se você abrir a página em Chrome, abrir o console do navegador e selecionar a página, você verá o seguinte no console:
É possível adicionar trechos ou informações suplementares a esses manipuladores, conforme necessário.