AlgorithmRules

Algoritmo basado en reglas

Representación JSON
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
Campos
impressionSignalRuleset

object (Ruleset)

Son las reglas para los indicadores de impresiones.

Conjunto de reglas

Un conjunto de reglas que consta de una lista de reglas y cómo agregar los valores resultantes.

Representación JSON
{
  "rules": [
    {
      object (Rule)
    }
  ],
  "aggregationType": enum (RuleAggregationType),
  "maxValue": number
}
Campos
rules[]

object (Rule)

Es una lista de reglas para generar el valor de impresión.

aggregationType

enum (RuleAggregationType)

Cómo agregar valores de reglas evaluadas

maxValue

number

Es el valor máximo al que se puede evaluar el conjunto de reglas.

Regla

Conjunto de condiciones.

El valor que se muestra de la regla es uno de los siguientes:

  • El valor que se muestra para una sola condición cumplida o
  • Es el valor predeterminado que se muestra si no se cumplen las condiciones.
Representación JSON
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Campos
conditions[]

object (RuleCondition)

Es la lista de condiciones de esta regla. Los criterios entre las condiciones deben ser mutuamente excluyentes.

defaultReturnValue

object (SignalValue)

Es el valor predeterminado que se devuelve cuando no se cumple ninguna de las condiciones.

RuleCondition

Es un conjunto de comparaciones de indicadores. Es equivalente a una sentencia if.

Representación JSON
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Campos
signalComparisons[]

object (SignalComparison)

Es una lista de comparaciones que compilan la condición de la sentencia if. Las comparaciones se combinan en una sola condición con operadores lógicos AND.

returnValue

object (SignalValue)

Es el valor que se muestra si la condición signalComparisons se evalúa como TRUE.

SignalComparison

Una sola comparación. La comparación compara signal con comparisonValue.

La comparación de siteId==123 se representa con los siguientes valores de campo:

  • signal tiene un impressionSignal de SITE_ID.
  • comparisonOperator se configura en EQUAL.
  • comparisonValue se establece en 123.
Representación JSON
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Campos
signal

object (Signal)

Es el indicador que se va a comparar.

comparisonOperator

enum (ComparisonOperator)

Operador que se usa para comparar los dos valores.

En la experiencia resultante, signal será el primer valor y `comparisonValue será el segundo.

comparisonValue

object (ComparisonValue)

Valor con el que se comparará el indicador.

Indicador

Es el indicador que se usa para evaluar las reglas.

Representación 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ón signal. El indicador que se usa para evaluar las reglas. Las direcciones (signal) solo pueden ser una de las siguientes opciones:
impressionSignal

enum (ImpressionSignal)

Indicador basado en las impresiones.

ComparisonValue

Es un valor con el que se debe comparar el indicador.

Representación 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ón value. Es el valor con el que se compara el indicador. Las direcciones (value) solo pueden ser una de las siguientes opciones:
int64Value

string (int64 format)

Es un valor entero.

doubleValue

number

Valor doble.

stringValue

string

Valor de string

boolValue

boolean

Valor booleano.

creativeDimensionValue

object (Dimensions)

Es el valor de la dimensión de la creatividad.

dayAndTimeValue

object (DayAndTime)

Valor del día y la hora. Solo se admite TIME_ZONE_RESOLUTION_END_USER.

deviceTypeValue

enum (RuleDeviceType)

Es el valor del tipo de dispositivo.

onScreenPositionValue

enum (OnScreenPosition)

Es el valor de la posición del anuncio.

environmentValue

enum (Environment)

Valor del entorno.

exchangeValue

enum (Exchange)

Valor de cambio.

DayAndTime

Representación del tiempo definido por el día de la semana y la hora del día.

Representación JSON
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Campos
dayOfWeek

enum (DayOfWeek)

Obligatorio. Día de la semana.

hourOfDay

integer

Obligatorio. Hora del día.

timeZoneResolution

enum (TimeZoneResolution)

Obligatorio. Es el mecanismo que se usa para determinar la zona horaria relevante.

SignalValue

Es el valor ajustado del indicador que se usa para la evaluación de reglas.

Representación JSON
{
  "number": number
}
Campos
number

number

Es el valor que se usará como resultado.