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टाइप वाले नए ऑब्जेक्ट, कभी भी दिख सकते हैं. ये ऑब्जेक्ट, पुराने सिस्टम के साथ काम करते हैं. इसकी वजह यह है कि इनम वैल्यू पहले से उपलब्ध है. इस बदलाव के साथ-साथ संसाधन भी उपलब्ध कराए गए हैं, ताकि आपको अपने खाते की सटीक जानकारी मिल सके.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 फ़ील्ड की हर अलग वैल्यू के लिए एक लाइन.