AlgorithmRules

Algorytm oparty na regułach.

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

object (Ruleset)

Reguły sygnałów dotyczących wyświetleń.

Regał

Zestaw reguł składający się z listy reguł oraz sposobu agregacji wynikowych wartości.

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

object (Rule)

Lista reguł służących do generowania wartości wyświetlenia.

aggregationType

enum (RuleAggregationType)

Jak agregować wartości ocenionych reguł.

maxValue

number

Maksymalna wartość, jaką może ocenić zestaw reguł.

Reguła

Zbiór warunków.

Wartość zwracana reguły to:

  • Wartość zwrócona dla pojedynczego warunku spełniającego warunki 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 warunków muszą się wzajemnie wykluczać.

defaultReturnValue

object (SignalValue)

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

RuleCondition

Zbiór porównań sygnałów. Odpowiednik wyrażenia 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 jeden warunek z AND operatorami logicznymi.

returnValue

object (SignalValue)

Wartość zwracana, jeśli warunek signalComparisons przyjmuje wartość TRUE.

SignalComparison

Jedno porównanie. Porównanie porównuje signal i comparisonValue.

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

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

object (Signal)

Sygnał do porównania.

comparisonOperator

enum (ComparisonOperator)

Operator używany do porównania dwóch wartości.

W wynikowym wyrażeniu signal będzie pierwszą wartością, a argument „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ł służący 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ównywany 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)

Wartość całkowita.

doubleValue

number

Wartość zmiennoprzecinkowa.

stringValue

string

Wartość ciągu znaków.

boolValue

boolean

Wartość logiczna.

creativeDimensionValue

object (Dimensions)

Wartość wymiaru kreacji.

dayAndTimeValue

object (DayAndTime)

Wartość daty i godziny. 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

Odzwierciedlenie czasu zdefiniowanego przez dzień tygodnia i godzinę dnia.

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

enum (DayOfWeek)

To pole jest wymagane. Dzień tygodnia.

hourOfDay

integer

To pole jest wymagane. Godzina.

timeZoneResolution

enum (TimeZoneResolution)

To pole jest wymagane. Mechanizm używany do określenia odpowiedniej strefy czasowej.

SignalValue

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

Zapis JSON
{
  "number": number
}
Pola
number

number

Wartość, która zostanie użyta w wyniku.