GoogleAdsService, Google Ads API की एक ऐसी सेवा है जो एक ही ऑब्जेक्ट से डेटा पाने और रिपोर्टिंग की सुविधा देती है. इस सेवा में ऐसे तरीके हैं जो:
- ऑब्जेक्ट के कुछ एट्रिब्यूट वापस पाना.
- तारीख की सीमा के आधार पर, ऑब्जेक्ट के लिए परफ़ॉर्मेंस मेट्रिक वापस पाएं.
- ऑब्जेक्ट को उनकी विशेषताओं के आधार पर क्रम से लगाएं.
- जवाब में आपको कौनसे ऑब्जेक्ट चाहिए, यह बताने के लिए शर्तों का इस्तेमाल करें.
- लौटाए गए ऑब्जेक्ट की संख्या सीमित करें.
GoogleAdsService दो तरीकों से नतीजे दिखा सकता है:
GoogleAdsService.SearchStreamयह एक ही स्ट्रीमिंग रिस्पॉन्स में सभी पंक्तियां दिखाता है. यह 10,000 से ज़्यादा पंक्तियों वाले बड़े नतीजे के सेट के लिए ज़्यादा असरदार है. अगर आपके बैच ऐप्लिकेशन को ज़्यादा से ज़्यादा डेटा को जल्द से जल्द डाउनलोड करना है, तो यह विकल्प ज़्यादा सही हो सकता है.GoogleAdsService.Search, बड़े जवाबों को नतीजों के ऐसे पेजों में बांटता है जिन्हें आसानी से मैनेज किया जा सकता है. अगर आपका इंटरैक्टिव ऐप्लिकेशन, एक बार में नतीजों का एक पेज दिखाता है, तो यह तरीका ज़्यादा सही हो सकता है.
पेजिंग बनाम स्ट्रीमिंग के बारे में ज़्यादा जानें.
अनुरोध करें
खोज के तरीके के लिए SearchGoogleAdsRequest की ज़रूरत होती है. इसमें ये एट्रिब्यूट शामिल होते हैं:
customer_id- Google Ads Query Language
query, यह बताता है कि किस संसाधन के लिए क्वेरी करनी है, कौनसे एट्रिब्यूट, सेगमेंट, और मेट्रिक वापस लानी हैं, और किन शर्तों का इस्तेमाल करके यह तय करना है कि कौनसी ऑब्जेक्ट वापस लाई जाएंगी - (सिर्फ़
GoogleAdsService.Searchके लिए) पेजिंग का इस्तेमाल करते समय, नतीजों का अगला बैच पाने के लिएpage_tokenका इस्तेमाल किया जा सकता है. हालांकि, यह ज़रूरी नहीं है.
Google Ads Query Language के बारे में ज़्यादा जानने के लिए, Google Ads Query Language की गाइड देखें.
जवाब को प्रोसेस करना
GoogleAdsService, GoogleAdsRow ऑब्जेक्ट की सूची दिखाता है.
हर GoogleAdsRow, क्वेरी से मिले ऑब्जेक्ट को दिखाता है. इसमें एट्रिब्यूट का एक सेट होता है. ये एट्रिब्यूट, SELECT क्लॉज़ में अनुरोध किए गए फ़ील्ड के आधार पर भरे जाते हैं. SELECT क्लॉज़ में शामिल नहीं किए गए एट्रिब्यूट, जवाब में मौजूद GoogleAdsRow ऑब्जेक्ट में नहीं दिखते.
उदाहरण के लिए, भले ही किसी ad_group_criterion में status एट्रिब्यूट मौजूद हो, लेकिन क्वेरी के जवाब में, लाइन के ad_group_criterion एट्रिब्यूट का status फ़ील्ड नहीं भरा जाता. ऐसा तब होता है, जब SELECT क्लॉज़ में ad_group_criterion.status शामिल न हो. इसी तरह, अगर SELECT क्लॉज़ में campaign रिसॉर्स के कोई भी फ़ील्ड शामिल नहीं हैं, तो लाइन के campaign एट्रिब्यूट की वैल्यू नहीं भरी जाती.
एक ही नतीजे के सेट में मौजूद किसी दूसरी लाइन के मुकाबले, हर GoogleAdsRow में अलग-अलग एट्रिब्यूट और मेट्रिक हो सकती हैं. इसलिए, लाइनों को टेबल की तय की गई लाइनों के बजाय ऑब्जेक्ट के तौर पर देखा जाना चाहिए.
UNKNOWN टाइप की सूची
UNKNOWN टाइप वाले संसाधनों को एपीआई के उस वर्शन में पूरी तरह से इस्तेमाल नहीं किया जा सकता. इन संसाधनों को Google Ads यूज़र इंटरफ़ेस (यूआई) जैसे अन्य इंटरफ़ेस के ज़रिए बनाया जा सकता है. जब किसी संसाधन का टाइप UNKNOWN होता है, तब मेट्रिक चुनी जा सकती हैं. हालांकि, एपीआई के ज़रिए संसाधन में बदलाव नहीं किया जा सकता. इसका एक उदाहरण यह है कि यूज़र इंटरफ़ेस (यूआई) में कोई नया कैंपेन या विज्ञापन लॉन्च किया गया है, लेकिन यह उस एपीआई वर्शन के साथ काम नहीं करता है जिसका इस्तेमाल किया जा रहा है.
इन बातों का ध्यान रखें:
UNKNOWNटाइप वाले संसाधन को बाद में इस्तेमाल किया जा सकता है या वह हमेशा के लिएUNKNOWNरह सकता है.UNKNOWNटाइप वाले नए ऑब्जेक्ट कभी भी दिख सकते हैं. ये ऑब्जेक्ट, पुराने सिस्टम के साथ काम करते हैं, क्योंकि enum वैल्यू पहले से उपलब्ध है. इस बदलाव के साथ-साथ संसाधन भी उपलब्ध कराए गए हैं, ताकि आपको अपने खाते की सटीक जानकारी मिल सके.UNKNOWNसंसाधन इन वजहों से दिख सकता है: आपके खाते में अन्य इंटरफ़ेस के ज़रिए नई गतिविधियां की गई हों या जब किसी संसाधन का इस्तेमाल बंद कर दिया गया हो.UNKNOWNसंसाधनों में, क्वेरी की जा सकने वाली मेट्रिक की ज़्यादा जानकारी जोड़ी जा सकती है.UNKNOWNऐसेट आम तौर पर, Google Ads के यूज़र इंटरफ़ेस (यूआई) में पूरी तरह से दिखती हैं.- आम तौर पर,
UNKNOWNसंसाधनों में बदलाव नहीं किया जा सकता.
सेगमेंटेशन
जवाब में, यहां दिए गए हर कॉम्बिनेशन के लिए एक GoogleAdsRow होगा:
FROMक्लॉज़ में बताया गया मुख्य संसाधन का इंस्टेंस- चुने गए हर
segmentफ़ील्ड की वैल्यू
उदाहरण के लिए, ऐसी क्वेरी के जवाब में ये शामिल होंगे जो 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 फ़ील्ड की हर अलग वैल्यू के लिए एक लाइन.