AlgorithmRules

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

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

object ( Ruleset )

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

Набор правил

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

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

object ( Rule )

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

aggregationType

enum ( RuleAggregationType )

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

maxValue

number

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

Правило

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

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

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

object ( RuleCondition )

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

defaultReturnValue

object ( SignalValue )

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

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

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

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

object ( SignalComparison )

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

returnValue

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 )

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

comparisonOperator

enum ( ComparisonOperator )

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

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

comparisonValue

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 может быть только одним из следующих:
impressionSignal

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 может быть только одним из следующих:
int64Value

string ( int64 format)

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

doubleValue

number

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

stringValue

string

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

boolValue

boolean

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

creativeDimensionValue

object ( Dimensions )

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

dayAndTimeValue

object ( DayAndTime )

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

deviceTypeValue

enum ( RuleDeviceType )

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

onScreenPositionValue

enum ( OnScreenPosition )

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

environmentValue

enum ( Environment )

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

exchangeValue

enum ( Exchange )

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

ДеньИВремя

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

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

enum ( DayOfWeek )

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

hourOfDay

integer

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

timeZoneResolution

enum ( TimeZoneResolution )

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

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

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

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

number

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