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

要用作结果的值。