AlgorithmRules

Algoritmo basato su regole.

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

object (Ruleset)

Regole per gli indicatori delle impressioni.

Set di regole

Un insieme di regole costituito da un elenco di regole e da istruzioni su 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 dell'impressione.

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 tra le condizioni devono essere mutuamente esclusivi.

defaultReturnValue

object (SignalValue)

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

RuleCondition

Set 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 il signal con il comparisonValue.

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

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

object (Signal)

Segnale da confrontare.

comparisonOperator

enum (ComparisonOperator)

Operatore utilizzato per confrontare i due valori.

Nell'espressione 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 giorno e ora. È supportato solo TIME_ZONE_RESOLUTION_END_USER.

deviceTypeValue

enum (RuleDeviceType)

Valore del tipo di dispositivo.

onScreenPositionValue

enum (OnScreenPosition)

Valore della posizione dell'annuncio.

environmentValue

enum (Environment)

Valore dell'ambiente.

exchangeValue

enum (Exchange)

Valore di scambio.

DayAndTime

Rappresentazione del tempo definita dal giorno della settimana e dall'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.