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

결과로 사용할 값입니다.