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

要用作结果的值。