AlgorithmRules

Алгоритм, основанный на правилах.

JSON-представление
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
Поля
impression Signal Ruleset

object ( Ruleset )

Правила сигналов показов.

Набор правил

Набор правил, состоящий из списка правил и способа агрегирования полученных значений.

JSON-представление
{
  "rules": [
    {
      object (Rule)
    }
  ],
  "aggregationType": enum (RuleAggregationType),
  "maxValue": number
}
Поля
rules[]

object ( Rule )

Список правил для формирования ценности показа.

aggregation Type

enum ( RuleAggregationType )

Как агрегировать значения оцениваемых правил.

max Value

number

Максимальное значение, которое может оценить набор правил.

Правило

Набор условий.

Возвращаемое значение правила:

  • Возвращаемое значение для одного выполненного условия или
  • Определенное возвращаемое значение по умолчанию, если не выполняются никакие условия.
JSON-представление
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Поля
conditions[]

object ( RuleCondition )

Список условий в этом правиле. Критерии среди условий должны быть взаимоисключающими.

default Return Value

object ( SignalValue )

Возвращаемое значение по умолчанию, применяемое, когда ни одно из условий не выполнено.

ПравилоУсловие

Набор сравнений сигналов. Эквивалент оператора if .

JSON-представление
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Поля
signal Comparisons[]

object ( SignalComparison )

Список сравнений, которые создают условие оператора if . Сравнения объединяются в одно условие с помощью логических операторов AND

return Value

object ( SignalValue )

Значение, возвращаемое, если условие signalComparisons оценивается как TRUE .

Сравнение сигналов

Единственное сравнение. Сравнение сравнивает signal со comparisonValue .

Сравнение siteId==123 представлено следующими значениями полей:

  • signal имеет impressionSignal SITE_ID .
  • Для comparisonOperator установлено значение EQUAL .
  • comparisonValue установлено значение 123.
JSON-представление
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Поля
signal

object ( Signal )

Сигнал для сравнения.

comparison Operator

enum ( ComparisonOperator )

Оператор, используемый для сравнения двух значений.

В результирующем выражении signal будет первым значением, а значение сравнения — вторым.

comparison Value

object ( ComparisonValue )

Значение для сравнения сигнала.

Сигнал

Сигнал, используемый для оценки правил.

JSON-представление
{

  // Union field signal can be only one of the following:
  "impressionSignal": enum (ImpressionSignal)
  // End of list of possible types for union field signal.
}
Поля
Полевой signal Союза. Сигнал, используемый для оценки правил. signal может быть только одним из следующих:
impression Signal

enum ( ImpressionSignal )

Сигнал на основе показов.

Значение сравнения

Значение, с которым сравнивается сигнал.

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.
}
Поля
value поля объединения. Значение, с которым сравнивается сигнал. value может быть только одним из следующих:
int64 Value

string ( int64 format)

Целочисленное значение.

double Value

number

Двойная ценность.

string Value

string

Строковое значение.

bool Value

boolean

Логическое значение.

creative Dimension Value

object ( Dimensions )

Значение креативного параметра.

day And Time Value

object ( DayAndTime )

Значение дня и времени. Поддерживается только TIME_ZONE_RESOLUTION_END_USER .

device Type Value

enum ( RuleDeviceType )

Значение типа устройства.

on Screen Position Value

enum ( OnScreenPosition )

Значение позиции объявления.

environment Value

enum ( Environment )

Экологическая ценность.

exchange Value

enum ( Exchange )

Биржевая стоимость.

ДеньИВремя

Представление времени определяется днем ​​недели и часом дня.

JSON-представление
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Поля
day Of Week

enum ( DayOfWeek )

Необходимый. День недели.

hour Of Day

integer

Необходимый. Час дня.

time Zone Resolution

enum ( TimeZoneResolution )

Необходимый. Механизм, используемый для определения соответствующего часового пояса.

Значение сигнала

Скорректированное значение сигнала, используемого для оценки правила.

JSON-представление
{
  "number": number
}
Поля
number

number

Значение для использования в качестве результата.