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 em 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 de impressão.

aggregationType

enum (RuleAggregationType)

Como agregar valores de regras avaliadas.

maxValue

number

Valor máximo que pode ser avaliado pelo conjunto de regras.

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 precisam 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 os 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 pelos 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)

Sinal a ser comparado.

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 o qual comparar o indicador.

Indicador

Sinal 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. O indicador usado para avaliar regras. signal pode ser apenas de um dos tipos a seguir:
impressionSignal

enum (ImpressionSignal)

Indicador baseado em impressões.

ComparisonValue

Um valor para comparar 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 com o qual comparar 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 de dia e 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 da troca.

DayAndTime

Representação do tempo definido pelo dia da semana e pela 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.