AlgorithmRules

Algoritmo baseado em regras.

Representação JSON
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
Campos
impressionSignalRuleset

object (Ruleset)

Regras para os indicadores de impressão.

Grupo de regras

Um conjunto de regras que consiste em uma lista de regras e como agregar os valores resultantes.

Representação JSON
{
  "rules": [
    {
      object (Rule)
    }
  ],
  "aggregationType": enum (RuleAggregationType),
  "maxValue": number
}
Campos
rules[]

object (Rule)

Lista de regras para gerar o valor da impressão.

aggregationType

enum (RuleAggregationType)

Como agregar valores de regras avaliadas.

maxValue

number

Valor máximo que o conjunto de regras pode avaliar.

Regra

Conjunto de condições.

O valor de retorno da regra é:

  • O valor de retorno para uma única condição atendida ou
  • O valor de retorno padrão definido se nenhuma condição for atendida.
Representação JSON
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Campos
conditions[]

object (RuleCondition)

Lista de condições nesta regra. Os critérios entre as condições devem ser mutuamente exclusivos.

defaultReturnValue

object (SignalValue)

O valor de retorno padrão é aplicado quando nenhuma das condições é atendida.

RuleCondition

Conjunto de comparações de indicadores. Equivalente a uma instrução if.

Representação JSON
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Campos
signalComparisons[]

object (SignalComparison)

Lista de comparações que criam a condição da instrução if. As comparações são combinadas em uma única condição com operadores lógicos AND.

returnValue

object (SignalValue)

O valor retornado se a condição signalComparisons for avaliada como TRUE.

SignalComparison

Uma única comparação. A comparação compara o signal com o comparisonValue.

A comparação de siteId==123 é representada com os seguintes valores de campo:

  • signal tem um impressionSignal de SITE_ID.
  • comparisonOperator é definido como EQUAL.
  • comparisonValue está definido como 123.
Representação JSON
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Campos
signal

object (Signal)

Indicador para comparar.

comparisonOperator

enum (ComparisonOperator)

Operador usado para comparar os dois valores.

Na experiência resultante, signal será o primeiro valor e "comparisonValue" será o segundo.

comparisonValue

object (ComparisonValue)

Valor com que o indicador será comparado.

Indicador

Indicador usado para avaliar regras.

Representação JSON
{

  // Union field signal can be only one of the following:
  "impressionSignal": enum (ImpressionSignal)
  // End of list of possible types for union field signal.
}
Campos
Campo de união signal. Indicador usado para avaliar regras. signal pode ser apenas de um dos tipos a seguir:
impressionSignal

enum (ImpressionSignal)

Indicador com base em impressões.

ComparisonValue

Um valor a ser comparado com o indicador.

Representação JSON
{

  // Union field value can be only one of the following:
  "int64Value": string,
  "doubleValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "creativeDimensionValue": {
    object (Dimensions)
  },
  "dayAndTimeValue": {
    object (DayAndTime)
  },
  "deviceTypeValue": enum (RuleDeviceType),
  "onScreenPositionValue": enum (OnScreenPosition),
  "environmentValue": enum (Environment),
  "exchangeValue": enum (Exchange)
  // End of list of possible types for union field value.
}
Campos
Campo de união value. O valor a ser comparado com o indicador. value pode ser apenas de um dos tipos a seguir:
int64Value

string (int64 format)

Número inteiro.

doubleValue

number

Valor duplo.

stringValue

string

Valor da string.

boolValue

boolean

Valor booleano.

creativeDimensionValue

object (Dimensions)

Valor da dimensão do criativo.

dayAndTimeValue

object (DayAndTime)

Valor do dia e da hora. Somente TIME_ZONE_RESOLUTION_END_USER é aceito.

deviceTypeValue

enum (RuleDeviceType)

Valor do tipo de dispositivo.

onScreenPositionValue

enum (OnScreenPosition)

Valor da posição do anúncio.

environmentValue

enum (Environment)

Valor do ambiente.

exchangeValue

enum (Exchange)

Valor de troca.

DayAndTime

Representação de horário definida por dia da semana e hora do dia.

Representação JSON
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Campos
dayOfWeek

enum (DayOfWeek)

Obrigatório. Dia da semana.

hourOfDay

integer

Obrigatório. Hora do dia.

timeZoneResolution

enum (TimeZoneResolution)

Obrigatório. O mecanismo usado para determinar o fuso horário relevante.

SignalValue

Valor ajustado do indicador usado para a avaliação de regras.

Representação JSON
{
  "number": number
}
Campos
number

number

Valor a ser usado como resultado.