AlgorithmRules

Algoritme berbasis aturan.

Representasi JSON
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
Kolom
impressionSignalRuleset

object (Ruleset)

Aturan untuk sinyal tayangan.

Kumpulan aturan

Kumpulan aturan yang terdiri dari daftar aturan dan cara menggabungkan nilai yang dihasilkan.

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

object (Rule)

Daftar aturan untuk menghasilkan nilai tayangan.

aggregationType

enum (RuleAggregationType)

Cara menggabungkan nilai aturan yang dievaluasi.

maxValue

number

Nilai maksimum yang dapat dievaluasi oleh kumpulan aturan.

Aturan

Kumpulan kondisi.

Nilai yang ditampilkan dari aturan adalah:

  • Nilai yang ditampilkan untuk satu kondisi terpenuhi atau
  • Nilai return default yang ditentukan jika tidak ada kondisi yang terpenuhi.
Representasi JSON
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Kolom
conditions[]

object (RuleCondition)

Daftar kondisi dalam aturan ini. Kriteria di antara kondisi harus saling eksklusif.

defaultReturnValue

object (SignalValue)

Nilai return default yang diterapkan jika tidak ada kondisi yang terpenuhi.

RuleCondition

Kumpulan perbandingan sinyal. Setara dengan pernyataan if.

Representasi JSON
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Kolom
signalComparisons[]

object (SignalComparison)

Daftar perbandingan yang membuat kondisi pernyataan if. Perbandingan digabungkan menjadi satu kondisi dengan operator logika AND.

returnValue

object (SignalValue)

Nilai yang ditampilkan jika kondisi signalComparisons dievaluasi menjadi TRUE.

SignalComparison

Satu perbandingan. Perbandingan membandingkan signal dengan comparisonValue.

Perbandingan siteId==123 direpresentasikan dengan nilai kolom berikut:

  • signal memiliki impressionSignal SITE_ID.
  • comparisonOperator disetel ke EQUAL.
  • comparisonValue disetel ke 123.
Representasi JSON
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Kolom
signal

object (Signal)

Sinyal yang akan dibandingkan.

comparisonOperator

enum (ComparisonOperator)

Operator yang digunakan untuk membandingkan kedua nilai.

Dalam ekspresi yang dihasilkan, signal akan menjadi nilai pertama dan `comparisonValue akan menjadi nilai kedua.

comparisonValue

object (ComparisonValue)

Nilai untuk membandingkan sinyal.

Sinyal

Sinyal yang digunakan untuk mengevaluasi aturan.

Representasi JSON
{

  // Union field signal can be only one of the following:
  "impressionSignal": enum (ImpressionSignal)
  // End of list of possible types for union field signal.
}
Kolom
Kolom union signal. Sinyal yang digunakan untuk mengevaluasi aturan. signal hanya dapat berupa salah satu dari berikut:
impressionSignal

enum (ImpressionSignal)

Sinyal berdasarkan tayangan.

ComparisonValue

Nilai untuk dibandingkan dengan sinyal.

Representasi 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.
}
Kolom
Kolom union value. Nilai yang akan dibandingkan dengan sinyal. value hanya dapat berupa salah satu dari berikut:
int64Value

string (int64 format)

Nilai bilangan bulat.

doubleValue

number

Nilai ganda.

stringValue

string

Nilai string.

boolValue

boolean

Nilai boolean

creativeDimensionValue

object (Dimensions)

Nilai dimensi materi iklan.

dayAndTimeValue

object (DayAndTime)

Nilai hari dan waktu. Hanya TIME_ZONE_RESOLUTION_END_USER yang didukung.

deviceTypeValue

enum (RuleDeviceType)

Nilai jenis perangkat.

onScreenPositionValue

enum (OnScreenPosition)

Nilai posisi iklan.

environmentValue

enum (Environment)

Nilai lingkungan.

exchangeValue

enum (Exchange)

Nilai pertukaran.

DayAndTime

Representasi waktu yang ditentukan berdasarkan hari dan jam.

Representasi JSON
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Kolom
dayOfWeek

enum (DayOfWeek)

Wajib. Hari.

hourOfDay

integer

Wajib. Jam dalam sehari.

timeZoneResolution

enum (TimeZoneResolution)

Wajib. Mekanisme yang digunakan untuk menentukan zona waktu yang relevan.

SignalValue

Nilai sinyal yang disesuaikan yang digunakan untuk evaluasi aturan.

Representasi JSON
{
  "number": number
}
Kolom
number

number

Nilai yang akan digunakan sebagai hasil.