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입니다.
  • comparisonOperatorEQUAL로 설정되어 있습니다.
  • 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

double 값

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

결과로 사용할 값입니다.