Tipos de condição para extensões da Web
No contexto de uma regra, uma condição é avaliada após a ocorrência de um evento. Todas as condições devem retornar verdadeiro para que a regra continue a ser processada. A exceção é quando os usuários colocam as condições explicitamente em um bucket de "exceção", nesse caso, todas as condições no bucket devem retornar falso para que a regra continue o processamento.
Como exemplo, uma extensão pode fornecer um tipo de condição "visor contém", na qual o usuário do poderia especificar um seletor de CSS. Quando a condição é avaliada no site do cliente, a extensão pode encontrar elementos que correspondam ao seletor de CSS e retornar se algum deles está contido no visor do usuário.
Este documento aborda como definir tipos de condição para uma extensão da Web no Adobe Experience Platform.
Os tipos de condição geralmente consistem no seguinte:
- A exibir mostrado na interface do Experience Platform e na interface da Coleção de dados, permitindo que os usuários modifiquem as configurações para a condição.
- Um módulo de biblioteca emitido na biblioteca de tempo de execução de tag para interpretar as configurações e avaliar uma condição.
Um módulo de biblioteca do tipo condição tem uma meta: avaliar se algo é verdadeiro ou falso. O que ele avalia depende de você.
Por exemplo, se você deseja avaliar se o usuário está no host example.com
, seu módulo pode ser semelhante a:
module.exports = function(settings) {
return document.location.hostname === 'example.com';
};
Agora, considere uma situação em que você deseje tornar o nome do host configurável pelo usuário do Adobe Experience Platform Você pode permitir que o usuário insira um nome de host e, depois, salve-o no objeto de configurações. O objeto pode ser semelhante a:
{
"hostname": "example.com"
}
Para operar no nome do host definido pelo usuário, seu módulo precisará ser alterado para:
module.exports = function(settings) {
return document.location.hostname === settings.hostname;
};
Dados do evento contextuais
Um segundo argumento é transmitido ao seu módulo, que contém informações contextuais sobre o evento que acionou a regra. Pode ser benéfico em certos casos e pode ser acessado da seguinte forma:
module.exports = function(settings, event) {
// event contains information regarding the event that fired the rule
};
O objeto event
deve conter as seguintes propriedades:
$type
youtube.play
.$rule
Um objeto que contém informações sobre a regra em execução no momento. O objeto deve conter as seguintes subpropriedades:
id
: a ID da regra em execução no momento.name
: o nome da regra em execução no momento.
Como alternativa, a extensão que fornece o tipo de evento que acionou a regra pode adicionar outras informações úteis a esse objeto event
.