Bộ lọc

Ad Manager API hỗ trợ lọc theo các phương thức List. Cú pháp chuỗi bộ lọc được xác định chính thức trong ngữ pháp EBNF.

Để bắt đầu, sau đây là một số ví dụ về các trường hợp sử dụng phổ biến.

Ví dụ: Ý nghĩa
orders.updateTime > "2024-01-01T00:00:00-5:00" Liệt kê các đơn đặt hàng có updateTime sau ngày 1 tháng 1 năm 2024 theo Múi giờ chuẩn miền Đông
lineItems.targeting.geoTargeting.targetedGeoIds:2840 Liệt kê các mục hàng có tiêu chí nhắm mục tiêu theo địa lý chứa Hoa Kỳ (mã mục tiêu theo địa lý 2480)
lineItems.displayName = "*_interstitial" Liệt kê các mục hàng có tên hiển thị kết thúc bằng chuỗi _interstitial
orders.displayName = "*video*" Liệt kê đơn đặt hàng có tên hiển thị chứa chuỗi video
displayName:"video" Liệt kê các đơn đặt hàng có tên hiển thị chứa chuỗi video (cú pháp thay thế)

Giá trị cố định

Giá trị cố định trần (ví dụ: 42, Hugo) là giá trị cần so khớp. Các giá trị cố định xuất hiện riêng lẻ không rõ ràng so với tất cả các trường được hỗ trợ trên một tài nguyên. Tài nguyên ghi lại những trường được xem xét để so khớp trên phương thức list. Tính năng này có thể so sánh với tính năng tìm kiếm chung trong giao diện người dùng Ad Manager nhưng trong phạm vi một loại tài nguyên duy nhất.

Bạn phải gói các giá trị cố định kiểu chuỗi chứa dấu cách trong dấu ngoặc kép (ví dụ: "Foo bar"). Không được dùng dấu nháy đơn để gói các giá trị cố định kiểu chuỗi.

Toán tử logic

API Ad Manager hỗ trợ các toán tử nhị phân ANDOR.

Đơn vị tổ chức Ví dụ: Ý nghĩa
AND a AND b Đúng nếu ab là true.
OR a OR b OR c Đúng nếu bất kỳ giá trị nào trong số a, b, c là đúng.

Toán tử phủ định

API Ad Manager cung cấp các toán tử một ngôi NOT-. Bạn có thể sử dụng các thuật ngữ này thay thế cho nhau.

Đơn vị tổ chức Ví dụ: Ý nghĩa
NOT NOT a Đúng nếu a không đúng.
- -a Đúng nếu a không đúng.

Toán tử so sánh

API Ad Manager hỗ trợ các toán tử so sánh nhị phân =, !=, <, >, <=>= cho các trường chuỗi, số, dấu thời gian và thời lượng.

Đơn vị tổ chức Ví dụ: Ý nghĩa
= a = true Đúng nếu a là đúng.
!= a != 42 Đúng trừ phi a bằng 42.
< a < 42 Đúng nếu a là một giá trị số nhỏ hơn 42.
> a > "foo" Đúng nếu a được sắp xếp theo thứ tự từ vựng sau "foo".
<= a <= "foo" Đúng nếu a là "foo" hoặc theo thứ tự từ vựng trước đó.
>= a >= 42 Đúng nếu a là một giá trị số từ 42 trở lên.

Vì bộ lọc được chấp nhận dưới dạng chuỗi truy vấn, nên quá trình chuyển đổi loại sẽ diễn ra để dịch chuỗi thành giá trị được xác định kiểu phù hợp:

  • Chuỗi cần có dấu ngoặc kép. Ví dụ: "Foo bar"
  • Enums yêu cầu biểu diễn chuỗi của enum (phân biệt chữ hoa chữ thường).
  • Boolean dự kiến các giá trị cố định truefalse.
  • Số sẽ được biểu thị bằng số nguyên hoặc số thực chuẩn. Đối với số thực, hệ số mũ được hỗ trợ. Ví dụ: 2.997e9
  • Thời lượng cần có một giá trị biểu diễn bằng số, theo sau là hậu tố s (dành cho giây). Ví dụ: "20s", "1.2s".
  • Dấu thời gian yêu cầu một chuỗi được định dạng RFC-3339. Ví dụ: "2012-04-21T11:30:00-04:00". Hỗ trợ độ lệch UTC.

Ký tự đại diện

Khi so sánh các chuỗi để tìm giá trị bằng nhau, API Ad Manager hỗ trợ ký tự đại diện bằng cách sử dụng ký tự *.

Ví dụ: Ý nghĩa
a = "*.foo" Đúng nếu a kết thúc bằng ".foo".

Toán tử truyền tải

API Ad Manager hỗ trợ toán tử ., cho biết việc truyền tải thông qua thông báo, bản đồ hoặc cấu trúc.

Ví dụ: Ý nghĩa
a.b = true Đúng nếu a có trường b boolean là đúng.
a.b > 42 Đúng nếu a có trường b dạng số lớn hơn 42.
a.b.c = "foo" Đúng nếu a.b có trường c chuỗi là "foo".

Quá trình duyệt được viết bằng tên trường từ tài nguyên. Các dịch vụ riêng lẻ có thể chỉ định một tập hợp con các trường được hỗ trợ để truyền tải.

Có toán tử

API Ad Manager hỗ trợ toán tử :, có nghĩa là "có". Bạn có thể sử dụng phương thức này với các bộ sưu tập (trường hoặc bản đồ lặp lại), thông báo và Chuỗi, đồng thời phương thức này hoạt động hơi khác nhau trong từng trường hợp.

Truy vấn trường Chuỗi để xem chuỗi có chứa chuỗi con khớp hay không:

Ví dụ: Ý nghĩa
r.displayName:"_250x250" Đúng nếu trường Chuỗi r.displayName chứa chuỗi con _250x250.

Truy vấn trường lặp lại để xem cấu trúc lặp lại có chứa phần tử khớp hay không:

Ví dụ: Ý nghĩa
r:42 Đúng nếu r chứa 42.
r.foo:42 Đúng nếu r chứa phần tử e sao cho e.foo = 42.

Bản đồ, cấu trúc và thông báo có thể truy vấn để biết sự hiện diện của một trường trong bản đồ hoặc một giá trị cụ thể:

Ví dụ: Ý nghĩa
m:foo Đúng nếu m chứa khoá "foo".
m.foo:* Đúng nếu m chứa khoá "foo".
m.foo:42 Đúng nếu m.foo là 42.

Khi truyền tin nhắn, một trường chỉ được coi là có mặt nếu trường đó có giá trị không phải giá trị mặc định.

Các điểm hạn chế

Các dịch vụ riêng lẻ có thể chỉ định thêm cấu trúc hoặc giới hạn cho truy vấn lọc ngoài những gì được xác định ở đây.

Đặt

Ad Manager API hỗ trợ việc sắp xếp thứ tự trên các phương thức List. Cú pháp cho các trường orderBy là danh sách tên trường được phân tách bằng dấu phẩy. Ví dụ: "foo,bar".

Thứ tự sắp xếp mặc định là tăng dần. Để chỉ định thứ tự giảm dần cho một trường, hãy thêm hậu tố " desc". Ví dụ: "foo desc, bar".

Các ký tự dấu cách thừa trong cú pháp sẽ bị bỏ qua. Các giá trị "foo, bar desc", " foo , bar desc ""foo,bar desc" đều tương đương.

Các trường phụ được chỉ định bằng toán tử truyền tải. Ví dụ: foo.bar hoặc address.street.