फ़िल्टर

Ad Manager API, List तरीकों को फ़िल्टर करने की सुविधा देता है. फ़िल्टर स्ट्रिंग के सिंटैक्स को EBNF ग्रैमर में आधिकारिक तौर पर बताया गया है.

इस्तेमाल शुरू करने के लिए, यहां सामान्य इस्तेमाल के कुछ उदाहरण दिए गए हैं.

उदाहरण मतलब
orders.updateTime > "2024-01-01T00:00:00-5:00" ईस्टर्न स्टैंडर्ड टाइमज़ोन में, 1 जनवरी, 2024 के बाद किए गए ऑर्डर को updateTime के साथ दिखाता है
lineItems.targeting.geoTargeting.targetedGeoIds:2840 यह डायलॉग बॉक्स, भौगोलिक टारगेटिंग के साथ लाइन आइटम की सूची बनाता है, जिसमें अमेरिका शामिल होता है (जियो टारगेट आईडी 2480)
lineItems.displayName = "*_interstitial" ऐसे लाइन आइटम की सूची जिनका डिसप्ले नेम _interstitial स्ट्रिंग पर खत्म होता है
orders.displayName = "*video*" यह उन ऑर्डर की सूची बनाता है जिनके डिसप्ले नेम में video स्ट्रिंग शामिल होती है
displayName:"video" उन ऑर्डर की सूची दिखाता है जिनके डिसप्ले नेम में video (वैकल्पिक सिंटैक्स) स्ट्रिंग शामिल है

लिटरल वैल्यू

बेयर लिटरल वैल्यू (उदाहरण: 42, Hugo) वह वैल्यू होती है जिससे मैच करना है. अकेले दिखने वाले लिटरल, किसी रिसॉर्स पर काम करने वाले सभी फ़ील्ड के साथ फ़ज़ी मैच किए जाते हैं. संसाधन यह दस्तावेज़ देते हैं कि list तरीके से मैच करने के लिए, कौनसे फ़ील्ड इस्तेमाल किए जाते हैं. इस सुविधा की तुलना Ad Manager के यूज़र इंटरफ़ेस (यूआई) में यूनिवर्सल सर्च से की जा सकती है. हालांकि, इसमें एक ही संसाधन शामिल है.

जिन स्ट्रिंग लिटरल में स्पेस होते हैं उन्हें डबल कोट में रैप किया जाना चाहिए (उदाहरण: "Foo bar"). स्ट्रिंग लिटरल को रैप करने के लिए, सिंगल कोट का इस्तेमाल नहीं किया जा सकता.

तार्किक ऑपरेटर

Ad Manager API, बाइनरी ऑपरेटर AND और OR के साथ काम करता है.

ऑपरेटर उदाहरण मतलब
AND a AND b अगर a और b, सही हैं, तो वैल्यू 'सही' होगी.
OR a OR b OR c अगर a, b, c में से कोई भी सही है, तो True.

नेगेटिव ऑपरेटर

Ad Manager API, एक आर्ग्युमेंट वाले ऑपरेटर NOT और - उपलब्ध कराता है. इन दोनों का इस्तेमाल एक-दूसरे की जगह पर किया जा सकता है.

ऑपरेटर उदाहरण मतलब
NOT NOT a अगर a सही नहीं है, तो True.
- -a अगर a सही नहीं है, तो True.

तुलना करने वाले ऑपरेटर

Ad Manager API, स्ट्रिंग, संख्या, टाइमस्टैंप, और अवधि वाले फ़ील्ड के लिए, बाइनरी तुलना ऑपरेटर =, !=, <, >, <=, और >= के साथ काम करता है.

ऑपरेटर उदाहरण मतलब
= a = true अगर a सही है, तो True.
!= a != 42 जब तक a की वैल्यू 42 न हो, तब तक यह फ़ंक्शन True दिखाता है.
< a < 42 अगर a की वैल्यू 42 से कम है, तो यह फ़ंक्शन True दिखाता है.
> a > "foo" अगर a को "foo" के बाद लेक्सिकल क्रम में लगाया गया है, तो यह सही है.
<= a <= "foo" अगर a "foo" है या लेक्सिकल क्रम में उससे पहले है, तो True दिखाता है.
>= a >= 42 अगर a की वैल्यू 42 या उससे ज़्यादा है, तो True दिखाता है.

फ़िल्टर, क्वेरी स्ट्रिंग के तौर पर इस्तेमाल किए जाते हैं. इसलिए, स्ट्रिंग का सही वैल्यू में अनुवाद करने के लिए कन्वर्ज़न टाइप किया जाता है:

  • स्ट्रिंग में डबल कोट होने चाहिए. उदाहरण: "Foo bar".
  • स्ट्रिंग के तौर पर दिए गए वैल्यू को, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) स्ट्रिंग के तौर पर दिखाया जाता है.
  • बूलियन, true और false के लिटरल वैल्यू की उम्मीद करते हैं.
  • संख्याओं के लिए, स्टैंडर्ड इंटीजर या फ़्लोट का इस्तेमाल करना ज़रूरी है. फ़्लोट के लिए, एक्सपोनेंट का इस्तेमाल किया जा सकता है. उदाहरण: 2.997e9.
  • अवधि के लिए, संख्या के बाद s सफ़िक्स (सेकंड के लिए) होना चाहिए. उदाहरण: "20s", "1.2s".
  • टाइमस्टैंप के लिए, आरएफ़सी-3339 फ़ॉर्मैट की गई स्ट्रिंग का इस्तेमाल किया जाना चाहिए. उदाहरण: "2012-04-21T11:30:00-04:00". यूटीसी ऑफ़सेट का इस्तेमाल किया जा सकता है.

वाइल्डकार्ड

समानता के लिए स्ट्रिंग की तुलना करते समय, Ad Manager API * वर्ण का इस्तेमाल करके वाइल्डकार्ड के साथ काम करता है.

उदाहरण मतलब
a = "*.foo" अगर a ".foo" पर खत्म होता है, तो True.

ट्रैवर्सल ऑपरेटर

Ad Manager API, . ऑपरेटर के साथ काम करता है. यह मैसेज, मैप या स्ट्रक्चर के ज़रिए ट्रैवर्सल की जानकारी देता है.

उदाहरण मतलब
a.b = true अगर a में, सही बूलियन b फ़ील्ड है, तो वैल्यू 'सही' होगी.
a.b > 42 अगर a में b फ़ील्ड की संख्या 42 से ज़्यादा है, तो वैल्यू 'सही' होगी.
a.b.c = "foo" अगर a.b में, "foo" स्ट्रिंग c फ़ील्ड है, तो वैल्यू 'सही' होगी.

ट्रैवर्सल, रिसॉर्स के फ़ील्ड के नामों का इस्तेमाल करके लिखा जाता है. अलग-अलग सेवाएं, फ़ील्ड के ऐसे सबसेट की जानकारी दे सकती हैं जिन पर ट्रैवर्स की सुविधा काम करती है.

ऑपरेटर है

Ad Manager API, : ऑपरेटर के साथ काम करता है. इसका मतलब है कि "है". इसका इस्तेमाल कलेक्शन (दोहराया गया फ़ील्ड या मैप), मैसेज, और स्ट्रिंग के साथ किया जा सकता है. साथ ही, यह हर मामले में अलग-अलग तरीके से काम करता है.

स्ट्रिंग फ़ील्ड की क्वेरी, यह देखने के लिए कि स्ट्रिंग में मैच करने वाली सबस्ट्रिंग है या नहीं:

उदाहरण मतलब
r.displayName:"_250x250" अगर स्ट्रिंग फ़ील्ड r.displayName में सबस्ट्रिंग _250x250 शामिल है, तो True.

दोहराए गए फ़ील्ड की क्वेरी, ताकि यह देखा जा सके कि दोहराए गए स्ट्रक्चर में मैच करने वाला एलिमेंट मौजूद है या नहीं:

उदाहरण मतलब
r:42 अगर r में 42 है, तो True दिखाता है.
r.foo:42 अगर r में ऐसा एलिमेंट e है कि e.foo = 42, तो यह सही है.

मैप, स्ट्रक्चर, और मैसेज, मैप में किसी फ़ील्ड या किसी खास वैल्यू की मौजूदगी के लिए क्वेरी कर सकते हैं:

उदाहरण मतलब
m:foo अगर m में "foo" कुंजी शामिल है, तो True.
m.foo:* अगर m में "foo" कुंजी शामिल है, तो True.
m.foo:42 अगर m.foo की वैल्यू 42 है, तो यह फ़ंक्शन True दिखाएगा.

मैसेज देखते समय, किसी फ़ील्ड को सिर्फ़ तब मौजूद माना जाता है, जब उसकी वैल्यू डिफ़ॉल्ट न हो.

सीमाएं

अलग-अलग सेवाएं, यहां बताए गए स्ट्रक्चर या सीमाओं के अलावा, फ़िल्टर क्वेरी के लिए ज़्यादा स्ट्रक्चर या सीमाएं तय कर सकती हैं.

क्रम

Ad Manager API, List तरीकों के हिसाब से ऑर्डर करने की सुविधा देता है. orderBy फ़ील्ड के लिए सिंटैक्स, फ़ील्ड के नामों की कॉमा लगाकर अलग की गई सूची है. उदाहरण के लिए: "foo,bar".

डिफ़ॉल्ट रूप से, डेटा को बढ़ते क्रम में क्रम से लगाया जाता है. किसी फ़ील्ड के लिए, घटते क्रम में लगाने के लिए, " desc" सफ़िक्स जोड़ें. उदाहरण के लिए: "foo desc, bar".

सिंटैक्स में मौजूद अतिरिक्त स्पेस को अनदेखा कर दिया जाता है. "foo, bar desc", " foo , bar desc ", और "foo,bar desc", ये सभी वैल्यू एक जैसी हैं.

सबफ़ील्ड की जानकारी, ट्रैवर्सल ऑपरेटर के साथ दी जाती है. उदाहरण के लिए: foo.bar या address.street.