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

ルールセットが評価できる最大値。

ルール

条件のセット。

ルールの戻り値は次のいずれかです。

  • 1 つの条件が満たされた場合の戻り値。
  • 条件が満たされない場合に定義されているデフォルトの戻り値。
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 論理演算子を使用して 1 つの条件に結合されます。

returnValue

object (SignalValue)

signalComparisons 条件が TRUE と評価された場合に返される値です。

SignalComparison

1 つの比較。この比較では、signalcomparisonValue が比較されます。

siteId==123 の比較は、次のフィールド値で表されます。

  • signalimpressionSignalSITE_ID です。
  • comparisonOperatorEQUAL に設定されている。
  • comparisonValue が 123 に設定されている。
JSON 表現
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
フィールド
signal

object (Signal)

比較するシグナル。

comparisonOperator

enum (ComparisonOperator)

2 つの値の比較に使用する演算子。

この式では、signal が最初の値になり、comparisonValue が 2 番目の値になります。

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

結果として使用する値。