AlgorithmRules

規則式演算法。

JSON 表示法
{
  "impressionSignalRuleset": {
    object (Ruleset)
  }
}
欄位
impressionSignalRuleset

object (Ruleset)

曝光信號的規則。

規則集

包含規則清單及如何匯總結果值的規則集。

JSON 表示法
{
  "rules": [
    {
      object (Rule)
    }
  ],
  "aggregationType": enum (RuleAggregationType),
  "maxValue": number
}
欄位
rules[]

object (Rule)

產生曝光值的規則清單。

aggregationType

enum (RuleAggregationType)

如何匯總已評估規則的值。

maxValue

number

規則集可評估的最大值。

規則

一組條件。

規則的傳回值為下列任一值:

  • 單一符合條件的傳回值,或
  • 如果未符合任何條件,則會傳回此預設值。
JSON 表示法
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
欄位
conditions[]

object (RuleCondition)

這項規則中的條件清單。條件中的條件應互斥。

defaultReturnValue

object (SignalValue)

在未符合任何條件時套用的預設傳回值。

RuleCondition

一組信號比較。相當於 if 陳述式的對等項目。

JSON 表示法
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
欄位
signalComparisons[]

object (SignalComparison)

列出用於建構 if 陳述式條件的比較項目。比較項目會與 AND 邏輯運算子合併為單一條件。

returnValue

object (SignalValue)

如果 signalComparisons 條件評估為 TRUE,則會傳回這個值。

SignalComparison

單一比較。比較結果會將 signalcomparisonValue 進行比較。

siteId==123 的比較結果會以下列欄位值表示:

  • signalimpressionSignalSITE_ID
  • comparisonOperator 設為 EQUAL
  • comparisonValue 已設為 123。
JSON 表示法
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
欄位
signal

object (Signal)

要比較的信號。

comparisonOperator

enum (ComparisonOperator)

用於比較兩個值的運算子。

在產生的運算式中,signal 會是第一個值,而 `comparisonValue 會是第二個值。

comparisonValue

object (ComparisonValue)

要比較信號的值。

信號

用於評估規則的信號。

JSON 表示法
{

  // Union field signal can be only one of the following:
  "impressionSignal": enum (ImpressionSignal)
  // End of list of possible types for union field signal.
}
欄位
聯集欄位 signal。用於評估規則的信號。signal 只能是下列其中一項:
impressionSignal

enum (ImpressionSignal)

以曝光為依據的信號。

ComparisonValue

要與信號進行比較的值。

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.
}
欄位
聯集欄位 value。要與信號進行比較的值。value 只能是下列其中一項:
int64Value

string (int64 format)

整數值。

doubleValue

number

雙重值。

stringValue

string

字串值。

boolValue

boolean

布林值。

creativeDimensionValue

object (Dimensions)

廣告素材尺寸值。

dayAndTimeValue

object (DayAndTime)

日期和時間值。系統僅支援 TIME_ZONE_RESOLUTION_END_USER

deviceTypeValue

enum (RuleDeviceType)

裝置類型值。

onScreenPositionValue

enum (OnScreenPosition)

廣告位置值。

environmentValue

enum (Environment)

環境值。

exchangeValue

enum (Exchange)

交換值。

DayAndTime

以星期幾和時段定義的時間表示法。

JSON 表示法
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
欄位
dayOfWeek

enum (DayOfWeek)

必要欄位。星期幾。

hourOfDay

integer

必要欄位。時段。

timeZoneResolution

enum (TimeZoneResolution)

必要欄位。用來判斷相關時區的機制。

SignalValue

用於規則評估的信號調整值。

JSON 表示法
{
  "number": number
}
欄位
number

number

要用來做為結果的值。