AlgorithmRules

Algorytm oparty na regułach.

Zapis JSON
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
Pola
impressionSignalRuleset

object (Ruleset)

Reguły sygnałów związanych z wyświetleniami.

Zestaw reguł

Zestaw reguł składający się z listy reguł wraz z informacjami o sposobie agregacji wynikowych wartości.

Zapis JSON
{
  "rules": [
    {
      object (Rule)
    }
  ],
  "aggregationType": enum (RuleAggregationType),
  "maxValue": number
}
Pola
rules[]

object (Rule)

Lista reguł generujących wartość wyświetlenia.

aggregationType

enum (RuleAggregationType)

Sposób agregacji wartości ocenionych reguł.

maxValue

number

Maksymalna wartość, do której może ocenić zestaw reguł.

Reguła

Zestaw warunków.

Zwracana wartość reguły to:

  • Wartość zwrócona dla pojedynczego spełnienia warunku lub
  • Zdefiniowana domyślna wartość zwracana w przypadku, gdy nie są spełnione żadne warunki.
Zapis JSON
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Pola
conditions[]

object (RuleCondition)

Lista warunków w tej regule. Kryteria powinny się wzajemnie wykluczać.

defaultReturnValue

object (SignalValue)

Domyślna wartość zwracana, gdy żaden z warunków nie jest spełniony.

RuleCondition

Zbiór porównań sygnałów. Odpowiednik instrukcji if.

Zapis JSON
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Pola
signalComparisons[]

object (SignalComparison)

Lista porównań, które tworzą warunek instrukcji if. Porównania są łączone w 1 warunek z operatorami logicznymi AND.

returnValue

object (SignalValue)

Wartość zwracana, gdy warunek signalComparisons przyjmuje wartość TRUE.

SignalComparison

Jedno porównanie. W porównaniu porównywane są: signal i comparisonValue.

Porównanie pola siteId==123 jest przedstawiane za pomocą tych wartości pól:

  • signal ma impressionSignal o wartości SITE_ID.
  • comparisonOperator ma wartość EQUAL.
  • comparisonValue ma wartość 123.
Zapis JSON
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Pola
signal

object (Signal)

Sygnał do porównania.

comparisonOperator

enum (ComparisonOperator)

Operator służący do porównania tych 2 wartości.

W wyniku eksperymentu signal będzie pierwszą wartością, a „comparisonValue” – drugą.

comparisonValue

object (ComparisonValue)

Wartość, z którą ma być porównywany sygnał.

Sygnał

Sygnał używany do oceny reguł.

Zapis JSON
{

  // Union field signal can be only one of the following:
  "impressionSignal": enum (ImpressionSignal)
  // End of list of possible types for union field signal.
}
Pola
Pole sumy signal. Sygnał używany do oceny reguł. signal może mieć tylko jedną z tych wartości:
impressionSignal

enum (ImpressionSignal)

Sygnał na podstawie wyświetleń.

ComparisonValue

Wartość, z którą ma być porównywana sygnał.

Zapis 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.
}
Pola
Pole sumy value. Wartość, z którą ma być porównywany sygnał. value może mieć tylko jedną z tych wartości:
int64Value

string (int64 format)

Liczba całkowita.

doubleValue

number

Podwójna wartość.

stringValue

string

Wartość ciągu.

boolValue

boolean

Wartość logiczna.

creativeDimensionValue

object (Dimensions)

Wartość wymiaru kreacji.

dayAndTimeValue

object (DayAndTime)

Data i godzina. Obsługiwana jest tylko wartość TIME_ZONE_RESOLUTION_END_USER.

deviceTypeValue

enum (RuleDeviceType)

Wartość typu urządzenia.

onScreenPositionValue

enum (OnScreenPosition)

Wartość pozycji reklamy.

environmentValue

enum (Environment)

Wartość środowiska.

exchangeValue

enum (Exchange)

Wartość wymiany.

DayAndTime

Reprezentacja czasu zdefiniowanego według dnia tygodnia i godziny.

Zapis JSON
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Pola
dayOfWeek

enum (DayOfWeek)

Wymagane. Dzień tygodnia.

hourOfDay

integer

Wymagane. Pora dnia.

timeZoneResolution

enum (TimeZoneResolution)

Wymagane. Mechanizm służący do określania odpowiedniej strefy czasowej.

SignalValue

Dostosowana wartość sygnału używanego do oceny reguły.

Zapis JSON
{
  "number": number
}
Pola
number

number

Wartość do użycia jako wynik.