AlgorithmRules

Algoritmo basato su regole.

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

object (Ruleset)

Regole per gli indicatori delle impressioni.

Set di regole

Un set di regole composto da un elenco di regole e da 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 il set di regole può valutare.

Regola

Insieme di condizioni.

Il valore restituito della regola è:

  • Il valore restituito per una singola condizione soddisfatta
  • 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 escludono a vicenda.

defaultReturnValue

object (SignalValue)

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

RuleCondition

Insieme di confronti di indicatori. Equivale a 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 gli operatori logici AND.

returnValue

object (SignalValue)

Il valore restituito se la condizione signalComparisons restituisce TRUE.

SignalComparison

Un unico confronto. Il confronto confronta signal con comparisonValue.

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

  • signal ha un impressionSignal di SITE_ID.
  • comparisonOperator è impostato su EQUAL.
  • 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.

Nella 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 di 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 di 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 di giorno e ora. È supportato soltanto l'elemento 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 dell'ora definita in base a giorno della settimana e 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.