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

การเปรียบเทียบรายการเดียว การเปรียบเทียบจะเปรียบเทียบ signal กับ comparisonValue

การเปรียบเทียบ siteId==123 จะแสดงด้วยค่าฟิลด์ต่อไปนี้

  • signal มีimpressionSignalเป็น SITE_ID
  • ตั้งค่า comparisonOperator เป็น EQUAL
  • 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

ค่า 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

ค่าที่จะใช้เป็นผลลัพธ์