AlgorithmRules

Algoritmo basato su regole.

Rappresentazione JSON
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
Campi
impressionSignalRuleset

object (Ruleset)

Regole per gli indicatori delle impressioni.

Serie di regole

Una serie di regole composta da un elenco di regole e come aggregare i valori risultanti.

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

object (Rule)

Elenco di regole per generare il valore delle impressioni.

aggregationType

enum (RuleAggregationType)

Come aggregare i valori delle regole valutate.

maxValue

number

Valore massimo che può essere valutato dal set di regole.

Regola

Insieme di condizioni.

Il valore restituito della regola è:

  • Il valore restituito per una singola condizione soddisfatta o
  • Il valore restituito predefinito definito se non vengono soddisfatte condizioni.
Rappresentazione JSON
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Campi
conditions[]

object (RuleCondition)

Elenco delle condizioni in questa regola. I criteri delle condizioni devono essere univoci tra loro.

defaultReturnValue

object (SignalValue)

Il valore restituito predefinito che viene applicato quando nessuna delle condizioni è soddisfatta.

RuleCondition

Insieme di confronti di indicatori. Equivale di un'istruzione if.

Rappresentazione JSON
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Campi
signalComparisons[]

object (SignalComparison)

Elenco di confronti che creano la condizione dell'istruzione if. I confronti vengono combinati in un'unica condizione con operatori logici AND.

returnValue

object (SignalValue)

Il valore restituito se la condizione signalComparisons restituisce TRUE.

SignalComparison

Un singolo confronto. Il confronto mette a confronto signal e comparisonValue.

Il confronto di siteId==123 è rappresentato dai seguenti valori dei campi:

  • signal ha un valore impressionSignal pari a SITE_ID.
  • comparisonOperator impostata su EQUAL.
  • Il valore di comparisonValue è impostato su 123.
Rappresentazione JSON
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Campi
signal

object (Signal)

Indicatore da confrontare.

comparisonOperator

enum (ComparisonOperator)

Operatore utilizzato per confrontare i due valori.

Nell'esperienza risultante, signal sarà il primo valore e "comparisonValue sarà il secondo.

comparisonValue

object (ComparisonValue)

Valore con cui confrontare l'indicatore.

Indicatore

Indicatore utilizzato per valutare le regole.

Rappresentazione JSON
{

  // Union field signal can be only one of the following:
  "impressionSignal": enum (ImpressionSignal)
  // End of list of possible types for union field signal.
}
Campi
Campo unione signal. L'indicatore utilizzato per valutare le regole. signal può essere solo uno dei seguenti:
impressionSignal

enum (ImpressionSignal)

Indicatore basato sulle impressioni.

ComparisonValue

Un valore con cui confrontare l'indicatore.

Rappresentazione 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.
}
Campi
Campo unione value. Il valore con cui confrontare l'indicatore. value può essere solo uno dei seguenti:
int64Value

string (int64 format)

Valore intero.

doubleValue

number

Valore doppio.

stringValue

string

Valore stringa.

boolValue

boolean

Valore booleano.

creativeDimensionValue

object (Dimensions)

Valore della dimensione della creatività.

dayAndTimeValue

object (DayAndTime)

Valore del giorno e dell'ora. È supportato solo TIME_ZONE_RESOLUTION_END_USER.

deviceTypeValue

enum (RuleDeviceType)

Valore tipo di dispositivo.

onScreenPositionValue

enum (OnScreenPosition)

Valore posizione dell'annuncio.

environmentValue

enum (Environment)

Valore dell'ambiente.

exchangeValue

enum (Exchange)

Valore di scambio.

DayAndTime

Rappresentazione dell'ora definita in base al giorno della settimana e all'ora del giorno.

Rappresentazione JSON
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Campi
dayOfWeek

enum (DayOfWeek)

Obbligatorio. Giorno della settimana.

hourOfDay

integer

Obbligatorio. Ora del giorno.

timeZoneResolution

enum (TimeZoneResolution)

Obbligatorio. Il meccanismo utilizzato per determinare il fuso orario pertinente.

SignalValue

Valore modificato dell'indicatore utilizzato per la valutazione delle regole.

Rappresentazione JSON
{
  "number": number
}
Campi
number

number

Valore da utilizzare come risultato.