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

결과로 사용할 값입니다.