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 परUNKNOWNenum वैल्यू मौजूद होती है.UNKNOWNके साथ संसाधन दिखाए जाते हैं, ताकि आपको अपने खाते की परफ़ॉर्मेंस मेट्रिक की सटीक जानकारी मिल सके. UNKNOWNसंसाधनों में, क्वेरी की जा सकने वाली ज़्यादा जानकारी वाली मेट्रिक जोड़ी जा सकती हैं.UNKNOWNऐसेट, आम तौर पर Google Ads के यूज़र इंटरफ़ेस (यूआई) में पूरी तरह से दिखती हैं.- आम तौर पर, एपीआई के ज़रिए
UNKNOWNरिसॉर्स में बदलाव नहीं किया जा सकता.
सेगमेंटेशन
जवाब में, यहां दिए गए हर कॉम्बिनेशन के लिए एक GoogleAdsRow शामिल है:
FROMक्लॉज़ में बताया गया मुख्य संसाधन का इंस्टेंस- चुने गए हर
segmentsफ़ील्ड की वैल्यू
उदाहरण के लिए, FROM campaign को चुनने वाली क्वेरी के जवाब में, SELECT क्लॉज़ में segments.ad_network_type और segments.date मौजूद हैं. इस क्वेरी के जवाब में, यहां दिए गए हर कॉम्बिनेशन के लिए एक लाइन शामिल है:
campaignsegments.ad_network_typesegments.date
नतीजों को मुख्य संसाधन के हर इंस्टेंस के हिसाब से सेगमेंट किया जाता है. इन्हें चुने गए अलग-अलग फ़ील्ड की वैल्यू के हिसाब से सेगमेंट नहीं किया जाता. उदाहरण के लिए,
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
इससे हर कैंपेन के लिए एक लाइन मिलती है, न कि campaign.status फ़ील्ड की हर अलग वैल्यू के लिए एक लाइन.