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

要用作结果的值。