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