AlgorithmRules

Алгоритм на основе правил.

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

object (Ruleset)

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

postImpressionSignalRuleset

object (Ruleset)

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

Это поле поддерживается только для партнеров из белого списка.

attributionModelId

string (int64 format)

Модель атрибуции для алгоритма.

Это поле поддерживается только для партнеров из белого списка.

Набор правил

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

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)

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

RuleCondition

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

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

object (SignalComparison)

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

returnValue

object (SignalValue)

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

SignalComparison

Одно сравнение. Сравниваются 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 – вторым.

comparisonValue

object (ComparisonValue)

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

Сигнал

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

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "impressionSignal": enum (ImpressionSignal),
  "clickSignal": enum (ClickSignal),
  "activeViewSignal": enum (ActiveViewSignal)
  // End of mutually exclusive fields.
}
Поля
Сигнал, используемый для оценки правил. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
impressionSignal

enum (ImpressionSignal)

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

clickSignal

enum (ClickSignal)

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

Это поле поддерживается только для партнеров из белого списка.

activeViewSignal

enum (ActiveViewSignal)

Сигнал на основе Active View.

Это поле поддерживается только для партнеров из белого списка.

Конец взаимоисключающих полей.

ComparisonValue

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

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "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),
  "contentDurationValue": enum (ContentDuration),
  "contentStreamTypeValue": enum (ContentStreamType),
  "contentGenreIdValue": string,
  "videoPlayerSizeValue": enum (VideoPlayerSize)
  // End of mutually exclusive fields.
}
Поля
Значение, с которым сравнивается сигнал. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
int64Value

string (int64 format)

Целое число.

doubleValue

number

Значение типа double.

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)

Обменная стоимость.

contentDurationValue

enum (ContentDuration)

Продолжительность видеоконтента.

contentStreamTypeValue

enum (ContentStreamType)

Тип показа видеорекламы.

contentGenreIdValue

string (int64 format)

Значение идентификатора жанра видео.

videoPlayerSizeValue

enum (VideoPlayerSize)

Значение размера видеопроигрывателя.

Это поле поддерживается только для партнеров из белого списка.

Конец взаимоисключающих полей.

DayAndTime

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

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

enum (DayOfWeek)

Обязательно. День недели.

hourOfDay

integer

Обязательно. Время суток.

timeZoneResolution

enum (TimeZoneResolution)

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

SignalValue

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

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "activeViewSignal": enum (ActiveViewSignal),
  "floodlightActivityConversionSignal": {
    object (FloodlightActivityConversionSignal)
  }
  // End of mutually exclusive fields.
  "number": number
}
Поля
Базовый сигнал, используемый для генерации значения. Ниже приведен список взаимоисключающих полей. В ответе будет задано не более одного из следующих полей:
activeViewSignal

enum (ActiveViewSignal)

Сигнал на основе Active View. Поддерживается только TIME_ON_SCREEN.

Это поле поддерживается только для партнеров из белого списка.

floodlightActivityConversionSignal

object (FloodlightActivityConversionSignal)

Сигнал на основе событий-конверсий Floodlight.

Это поле поддерживается только для партнеров из белого списка.

Конец взаимоисключающих полей.
number

number

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

FloodlightActivityConversionSignal

Правило для оценки показов на основе событий-конверсий Floodlight.

JSON-представление
{
  "floodlightActivityId": string,
  "countingMethod": enum (CountingMethod),
  "conversionCounting": enum (ConversionCounting)
}
Поля
floodlightActivityId

string (int64 format)

Обязательно. Идентификатор действия Floodlight.

countingMethod

enum (CountingMethod)

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

conversionCounting

enum (ConversionCounting)

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