Ad Manager API รองรับการกรองในวิธีการ List
รูปแบบสตริงตัวกรองจะกําหนดอย่างเป็นทางการในไวยากรณ์ EBNF
ลองดูตัวอย่าง Use Case ที่พบบ่อยเพื่อเริ่มต้นใช้งาน
ตัวอย่าง | ความหมาย |
---|---|
orders.updateTime > "2024-01-01T00:00:00-5:00" |
แสดงคำสั่งซื้อที่มี updateTime หลังวันที่ 1 มกราคม 2024 ตามเขตเวลามาตรฐานตะวันออก |
lineItems.targeting.geoTargeting.targetedGeoIds:2840 |
แสดงรายการรายการโฆษณาที่มีการกำหนดเป้าหมายตามภูมิศาสตร์ที่มีสหรัฐอเมริกา (รหัสเป้าหมายทางภูมิศาสตร์ 2480 ) |
lineItems.displayName = "*_interstitial" |
แสดงรายการโฆษณาที่มีชื่อที่แสดงซึ่งลงท้ายด้วยสตริง _interstitial |
orders.displayName = "*video*" |
แสดงคำสั่งซื้อที่มีชื่อที่แสดงซึ่งมีสตริง video |
displayName:"video" |
แสดงรายการคำสั่งซื้อที่มีชื่อที่แสดงซึ่งมีสตริง video (ไวยากรณ์ทางเลือก) |
ลิเทอรัล
ค่าที่เป็นตัวอักษรล้วน (เช่น 42
, Hugo
) คือค่าที่จะจับคู่
ข้อความที่ปรากฏขึ้นเพียงอย่างเดียวจะจับคู่แบบไม่ตรงทั้งหมดกับช่องที่รองรับทั้งหมดในทรัพยากร แหล่งข้อมูลจะระบุฟิลด์ที่ระบบจะพิจารณาจับคู่ในวิธีการ list
ฟีเจอร์นี้เทียบเท่ากับการค้นหาอเนกประสงค์ใน UI ของ Ad Manager แต่กําหนดขอบเขตไว้สำหรับทรัพยากรประเภทเดียว
ควรรวมลิเทอรัลสตริงที่มีการเว้นวรรคไว้ในเครื่องหมายคำพูดคู่
(เช่น "Foo bar"
) ไม่สามารถใช้เครื่องหมายคำพูดเดี่ยวเพื่อตัดลิเทอรัลของสตริงได้
โอเปอเรเตอร์ทางตรรกะ
Ad Manager API รองรับโอเปอเรเตอร์ไบนารี AND
และ OR
โอเปอเรเตอร์ | ตัวอย่าง | ความหมาย |
---|---|---|
AND |
a AND b |
เป็นจริงหาก a และ b เป็นจริง |
OR |
a OR b OR c |
จริงหาก a , b , c เป็นจริง |
โอเปอเรเตอร์การปฏิเสธ
Ad Manager API มีโอเปอเรเตอร์รวม NOT
และ -
ซึ่งใช้แทนกันได้
โอเปอเรเตอร์ | ตัวอย่าง | ความหมาย |
---|---|---|
NOT |
NOT a |
จริงหาก a ไม่ใช่จริง |
- |
-a |
เป็นจริงหาก a ไม่เป็นความจริง |
โอเปอเรเตอร์การเปรียบเทียบ
Ad Manager API รองรับโอเปอเรเตอร์การเปรียบเทียบแบบไบนารี =
, !=
, <
, >
, <=
และ >=
สำหรับช่องสตริง ตัวเลข การประทับเวลา และระยะเวลา
โอเปอเรเตอร์ | ตัวอย่าง | ความหมาย |
---|---|---|
= |
a = true |
จริงหาก a เป็นจริง |
!= |
a != 42 |
จริง เว้นแต่ a จะเท่ากับ 42 |
< |
a < 42 |
จริงหาก a เป็นค่าตัวเลขที่น้อยกว่า 42 |
> |
a > "foo" |
จริงหาก a มีลําดับตามคําศัพท์หลัง "foo" |
<= |
a <= "foo" |
เป็นจริงหาก a เป็น "foo" หรือคำศัพท์ก่อนหน้า |
>= |
a >= 42 |
จริงหาก a เป็นค่าตัวเลขที่มากกว่าหรือเท่ากับ 42 |
เนื่องจากตัวกรองจะได้รับการยอมรับเป็นสตริงการค้นหา การแปลงประเภทจะเกิดขึ้นเพื่อแปลสตริงเป็นค่าที่มีประเภทชัดเจนที่เหมาะสม ดังนี้
- สตริงต้องใช้เครื่องหมายคำพูดคู่ ตัวอย่าง:
"Foo bar"
- ประเภทข้อมูล Enum ต้องการการนําเสนอสตริงของ Enum (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
- บูลีนต้องการค่าลิเทอรัล
true
และfalse
- ตัวเลขควรเป็นการแสดงจำนวนเต็มหรือทศนิยมมาตรฐาน สำหรับตัวเลขทศนิยม ระบบจะรองรับเลขชี้กำลัง ตัวอย่าง:
2.997e9
- ระยะเวลาควรเป็นตัวเลขตามด้วยส่วนต่อท้าย
s
(สำหรับวินาที) ตัวอย่าง:"20s"
,"1.2s"
- การประทับเวลาต้องการสตริงรูปแบบ RFC-3339
ตัวอย่างเช่น
"2012-04-21T11:30:00-04:00"
ระบบรองรับความต่างเวลา UTC
สัญลักษณ์แทน
เมื่อเปรียบเทียบสตริงเพื่อหาค่าที่เท่ากัน Ad Manager API จะรองรับไวลด์การ์ดโดยใช้อักขระ *
ตัวอย่าง | ความหมาย |
---|---|
a = "*.foo" |
จริงหาก a ลงท้ายด้วย ".foo" |
โอเปอเรเตอร์การท่องเว็บ
Ad Manager API รองรับโอเปอเรเตอร์ .
ซึ่งระบุการท่องผ่านข้อความ แผนที่ หรือโครงสร้าง
ตัวอย่าง | ความหมาย |
---|---|
a.b = true |
จริงหาก a มีช่องบูลีน b ที่จริง |
a.b > 42 |
จริงหาก a มีฟิลด์ b ที่เป็นตัวเลขมากกว่า 42 |
a.b.c = "foo" |
จริงหาก a.b มีฟิลด์สตริง c เป็น "foo" |
การเรียกใช้นี้จะเขียนโดยใช้ชื่อช่องจากแหล่งข้อมูล บริการแต่ละรายการอาจระบุชุดย่อยของฟิลด์ที่รองรับการข้ามผ่าน
มีโอเปอเรเตอร์
Ad Manager API รองรับโอเปอเรเตอร์ :
ซึ่งหมายถึง "มี"
โดยจะใช้ได้กับคอลเล็กชัน (ฟิลด์หรือแผนที่ซ้ำ) ข้อความ และสตริง
โดยจะทำงานแตกต่างกันเล็กน้อยในแต่ละกรณี
การค้นหาฟิลด์สตริงเพื่อดูว่าสตริงมีสตริงย่อยที่ตรงกันหรือไม่
ตัวอย่าง | ความหมาย |
---|---|
r.displayName:"_250x250" |
จริงหากช่องสตริง r.displayName มีสตริงย่อย _250x250 |
การค้นหาฟิลด์ที่ซ้ำเพื่อดูว่าโครงสร้างที่ซ้ำกันมีองค์ประกอบที่ตรงกันหรือไม่
ตัวอย่าง | ความหมาย |
---|---|
r:42 |
จริงหาก r มี 42 |
r.foo:42 |
จริงหาก r มีองค์ประกอบ e ดังที่ e.foo = 42 |
แผนที่ โครงสร้าง และข้อความสามารถค้นหาว่ามีช่องในแผนที่หรือค่าที่เฉพาะเจาะจงหรือไม่ โดยทำดังนี้
ตัวอย่าง | ความหมาย |
---|---|
m:foo |
จริงหาก m มีคีย์ "foo" |
m.foo:* |
จริงหาก m มีคีย์ "foo" |
m.foo:42 |
เป็นจริงหาก m.foo คือ 42 |
เมื่อเรียกดูข้อความ ระบบจะถือว่ามีฟิลด์เฉพาะในกรณีที่มีค่าที่ไม่ใช่ค่าเริ่มต้นเท่านั้น
ข้อจำกัด
บริการแต่ละรายการสามารถระบุโครงสร้างหรือข้อจํากัดเพิ่มเติมสําหรับการค้นหาตัวกรองนอกเหนือจากที่กําหนดไว้ที่นี่
สั่งซื้อ
Ad Manager API รองรับการสั่งซื้อด้วยเมธอด List
รูปแบบคำสั่งสำหรับช่อง orderBy
คือรายการชื่อช่องที่คั่นด้วยคอมมา ตัวอย่างเช่น
"foo,bar"
ลำดับการจัดเรียงเริ่มต้นคือจากน้อยไปมาก หากต้องการระบุลําดับจากมากไปน้อยสําหรับช่อง ให้ใส่ส่วนต่อท้าย " desc"
ต่อท้าย เช่น "foo desc, bar"
ระบบจะไม่สนใจอักขระเว้นวรรคที่ซ้ำกันในไวยากรณ์ ค่า "foo, bar desc"
, " foo , bar desc "
และ "foo,bar desc"
ทั้งหมดเทียบเท่ากัน
ช่องย่อยจะระบุด้วยโอเปอเรเตอร์ Traversal เช่น foo.bar
หรือ address.street