ऑब्जेक्ट वापस लाए जा रहे हैं

GoogleAdsService, Google Ads API की एक ऐसी सेवा है जो एक ही ऑब्जेक्ट से डेटा पाने और रिपोर्टिंग की सुविधा देती है. इस सेवा में ऐसे तरीके हैं जो:

  • ऑब्जेक्ट के कुछ एट्रिब्यूट वापस पाना.
  • तारीख की सीमा के आधार पर, ऑब्जेक्ट के लिए परफ़ॉर्मेंस मेट्रिक वापस पाएं.
  • ऑब्जेक्ट को उनके एट्रिब्यूट के आधार पर क्रम से लगाएं.
  • जवाब में आपको कौनसे ऑब्जेक्ट चाहिए, यह बताने के लिए शर्तों का इस्तेमाल करें.
  • दिखाए गए ऑब्जेक्ट की संख्या सीमित करें.

GoogleAdsService दो तरीकों से नतीजे दिखा सकता है:

  • GoogleAdsService.SearchStream एक ही स्ट्रीमिंग रिस्पॉन्स में सभी पंक्तियां दिखाता है. यह 10,000 से ज़्यादा पंक्तियों वाले बड़े नतीजे के सेट के लिए ज़्यादा असरदार है. इसका सुझाव तब दिया जाता है, जब आपका ऐप्लिकेशन नतीजों के पूरे सेट डाउनलोड करता हो या लाइनों को स्ट्रीम के तौर पर प्रोसेस करता हो.
  • GoogleAdsService.Search बड़े जवाबों को, नतीजों के मैनेज किए जा सकने वाले पेजों में बांटता है. यह तब काम आता है, जब आपका इंटरैक्टिव ऐप्लिकेशन एक बार में नतीजों का एक पेज दिखाता है.

पेजिंग और स्ट्रीमिंग में अंतर के बारे में ज़्यादा जानें.

अनुरोध करें

GoogleAdsService.SearchStream में SearchGoogleAdsStreamRequest होना चाहिए. साथ ही, GoogleAdsService.Search में SearchGoogleAdsRequest होना चाहिए. दोनों तरह के अनुरोधों में यह जानकारी शामिल होती है:

  • customer_id
  • Google Ads क्वेरी लैंग्वेज query, यह बताती है कि किस संसाधन से क्वेरी करनी है, कौनसे एट्रिब्यूट, सेगमेंट, और मेट्रिक वापस लानी हैं, और किन शर्तों का इस्तेमाल करके यह तय करना है कि कौनसी ऑब्जेक्ट वापस लाई जाएं

तरीके के आधार पर, अनुरोध में तरीके के हिसाब से फ़ील्ड भी शामिल किए जा सकते हैं:

  • SearchGoogleAdsStreamRequest (SearchStream के लिए):
    • summary_row_setting एक ऐसा विकल्प है जिसकी मदद से, एग्रीगेट की गई मेट्रिक वाली खास जानकारी वाली लाइन का अनुरोध किया जा सकता है
  • SearchGoogleAdsRequest (Search के लिए):
    • पेजिंग का इस्तेमाल करते समय, नतीजों का अगला बैच पाने के लिए एक वैकल्पिक page_token. page_size को 10,000 लाइनों पर सेट किया जाता है. अनुरोध में page_size को सेट करने पर, RequestError.PAGE_SIZE_NOT_SUPPORTED गड़बड़ी होती है
    • search_settings मैसेज, return_summary_row, return_total_results_count, और omit_results को कॉन्फ़िगर करने के लिए ज़रूरी नहीं है
    • यह एक ज़रूरी नहीं है validate_only बूलियन, जिसका इस्तेमाल क्वेरी को बिना लागू किए उसकी पुष्टि करने के लिए किया जाता है

Google Ads क्वेरी लैंग्वेज के बारे में ज़्यादा जानने के लिए, Google Ads क्वेरी लैंग्वेज की गाइड देखें.

जवाब को प्रोसेस करना

GoogleAdsService, GoogleAdsRow ऑब्जेक्ट की सूची दिखाता है. ये ऑब्जेक्ट, स्ट्रीम किए गए SearchGoogleAdsStreamResponse बैच या पेज वाले SearchGoogleAdsResponse में होते हैं.

हर GoogleAdsRow, क्वेरी से मिले ऑब्जेक्ट को दिखाता है. इसमें एट्रिब्यूट का एक सेट होता है. ये एट्रिब्यूट, SELECT क्लॉज़ में अनुरोध किए गए फ़ील्ड के आधार पर भरे जाते हैं. SELECT क्लॉज़ में शामिल नहीं किए गए एट्रिब्यूट, जवाब में मौजूद GoogleAdsRow ऑब्जेक्ट में नहीं दिखते.

उदाहरण के लिए, भले ही ad_group_criterion में status एट्रिब्यूट मौजूद हो, लेकिन लाइन के ad_group_criterion एट्रिब्यूट का status फ़ील्ड, ऐसी क्वेरी के जवाब में नहीं भरा जाता है जिसमें SELECT क्लॉज़ में ad_group_criterion.status शामिल नहीं होता है. इसी तरह, अगर SELECT क्लॉज़ में campaign रिसॉर्स के कोई भी फ़ील्ड शामिल नहीं हैं, तो लाइन के campaign एट्रिब्यूट की वैल्यू नहीं भरी जाती है.

एक ही नतीजे के सेट में मौजूद अलग-अलगGoogleAdsRow पंक्तियों में, अलग-अलग एट्रिब्यूट और मेट्रिक हो सकती हैं. इसलिए, पंक्तियों को टेबल की तय पंक्तियों के बजाय ऑब्जेक्ट के तौर पर देखा जाना चाहिए.

UNKNOWN और UNSPECIFIED enum टाइप

UNKNOWN एनम वैल्यू के साथ दिखाए गए संसाधन, एपीआई के उस वर्शन में पूरी तरह से काम नहीं करते. वहीं, UNSPECIFIED से पता चलता है कि एनम फ़ील्ड सेट नहीं किया गया है या SELECT क्लॉज़ में इसका अनुरोध नहीं किया गया था. UNKNOWN एनम वैल्यू वाले संसाधन, Google Ads यूज़र इंटरफ़ेस (यूआई) जैसे अन्य इंटरफ़ेस के ज़रिए बनाए जा सकते हैं. जब किसी संसाधन का टाइप UNKNOWN होता है, तब मेट्रिक चुनी जा सकती हैं. हालांकि, एपीआई के ज़रिए संसाधन में बदलाव नहीं किया जा सकता. इसका एक उदाहरण यह है कि यूज़र इंटरफ़ेस (यूआई) में उपलब्ध कोई कैंपेन या विज्ञापन टाइप, उस एपीआई वर्शन के साथ काम नहीं करता है जिसके लिए क्वेरी की जा रही है.

इन बातों का ध्यान रखें:

  • UNKNOWN टाइप वाली किसी संसाधन को एपीआई के बाद के वर्शन में इस्तेमाल किया जा सकता है. इसके अलावा, इसे हमेशा के लिए UNKNOWN के तौर पर भी रखा जा सकता है.
  • टाइप UNKNOWN वाले नए ऑब्जेक्ट कभी भी दिख सकते हैं. ये ऑब्जेक्ट, पिछले वर्शन के साथ काम करते हैं. इसकी वजह यह है कि एपीआई में हर enum पर UNKNOWN enum वैल्यू मौजूद होती है. UNKNOWN के साथ संसाधन दिखाए जाते हैं, ताकि आपको अपने खाते की परफ़ॉर्मेंस मेट्रिक की सटीक जानकारी मिल सके.
  • UNKNOWN संसाधनों में, क्वेरी की जा सकने वाली ज़्यादा जानकारी वाली मेट्रिक जोड़ी जा सकती हैं.
  • UNKNOWN ऐसेट, आम तौर पर Google Ads के यूज़र इंटरफ़ेस (यूआई) में पूरी तरह से दिखती हैं.
  • आम तौर पर, एपीआई के ज़रिए UNKNOWN रिसॉर्स में बदलाव नहीं किया जा सकता.

सेगमेंटेशन

जवाब में, यहां दिए गए हर कॉम्बिनेशन के लिए एक GoogleAdsRow शामिल है:

  • FROM क्लॉज़ में बताया गया मुख्य संसाधन का इंस्टेंस
  • चुने गए हर segments फ़ील्ड की वैल्यू

उदाहरण के लिए, FROM campaign को चुनने वाली क्वेरी के जवाब में, SELECT क्लॉज़ में segments.ad_network_type और segments.date मौजूद हैं. इस क्वेरी के जवाब में, यहां दिए गए हर कॉम्बिनेशन के लिए एक लाइन शामिल है:

  • campaign
  • segments.ad_network_type
  • segments.date

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

SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS

इससे हर कैंपेन के लिए एक लाइन मिलती है, न कि campaign.status फ़ील्ड की हर अलग वैल्यू के लिए एक लाइन.