Google Ads की ज़्यादातर इकाइयां, getId()
तरीके का इस्तेमाल करती हैं. इससे उनके आइडेंटिफ़ायर मिलते हैं. ज़्यादातर मामलों में आईडी की ज़रूरत नहीं होती. हालांकि, आईडी तब काम आ सकते हैं, जब
- रिपोर्ट का इस्तेमाल करना
- आईडी की मदद से, रिपोर्ट की लाइन को Google Ads की असल इकाई से लिंक किया जा सकता है.
- बाहरी डेटास्टोर के साथ मैपिंग बनाए रखना
- ऐसा हो सकता है कि आपके डेटाबेस में आईडी के आधार पर जानकारी पहले से ही सेव हो.
- परफ़ॉर्मेंस को थोड़ा बेहतर बनाना है
आईडी के हिसाब से डेटा फ़ेच करने की प्रोसेस, अक्सर अन्य तरीकों की तुलना में ज़्यादा तेज़ होती है. किसी एक इकाई को फ़ेच करने का कोड भी थोड़ा आसान है:
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
खासियत
कैंपेन आईडी और विज्ञापन ग्रुप आईडी यूनीक होते हैं: दो कैंपेन या विज्ञापन ग्रुप का आईडी कभी भी एक जैसा नहीं होगा. हालांकि, विज्ञापनों और कीवर्ड के कंपोज़िट आईडी होते हैं: किसी कीवर्ड का यूनीक आइडेंटिफ़ायर, उसके विज्ञापन ग्रुप आईडी और कीवर्ड आईडी का कॉम्बिनेशन होता है.
इसी तरह, किसी विज्ञापन का यूनीक आइडेंटिफ़ायर, उसके विज्ञापन ग्रुप आईडी और विज्ञापन आईडी का कॉम्बिनेशन होता है. इससे selector.withIds()
को कॉल करने के तरीके पर असर पड़ता है.
कैंपेन और विज्ञापन ग्रुप के लिए, selector.withIds()
को संख्याओं की एक सीरीज़ की ज़रूरत होती है:
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
हालांकि, विज्ञापनों और कीवर्ड के लिए, selector.withIds()
को दो एलिमेंट वाले ऐरे की एक सीरीज़ की ज़रूरत होती है. इसमें पहला एलिमेंट विज्ञापन ग्रुप का आईडी होता है. यहां दिया गया स्निपेट, किसी विज्ञापन ग्रुप से तीन कीवर्ड वापस लाता है:
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
विज्ञापन फ़ेच करते समय भी यही स्ट्रक्चर लागू होता है.
अस्थायी आईडी
एक से ज़्यादा कार्रवाइयों वाले म्यूटेट अनुरोध के साथ काम करते समय, आपको कभी-कभी अस्थायी आईडी का इस्तेमाल करना होगा. ऐसा इसलिए, ताकि संसाधनों को एक-दूसरे से लिंक किया जा सके. ऐसा इसलिए, क्योंकि एपीआई से जवाब मिलने तक पूरे संसाधन के नाम उपलब्ध नहीं होंगे. अस्थायी आईडी, -1 से शुरू होने वाली नेगेटिव संख्याएं होनी चाहिए. साथ ही, एक ही म्यूटेट अनुरोध में इन्हें दोहराया नहीं जा सकता. अस्थायी आईडी का बेहतर तरीके से इस्तेमाल करने के लिए, आपको कुछ कोड लिखना होगा. इससे यह पक्का किया जा सकेगा कि डुप्लीकेट अस्थायी आईडी न बनाए जाएं:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
getNextTempId
को किए गए हर कॉल पर, पिछली वैल्यू से एक कम वैल्यू मिलेगी. सभी टेंप आईडी नेगेटिव होने चाहिए. इसलिए, -1 से शुरू करें.
अस्थायी आईडी, नौकरियों या बदलाव के अनुरोधों के लिए सेव नहीं किए जाते. पिछले म्यूटेट अनुरोध में बनाए गए किसी संसाधन का रेफ़रंस देने के लिए, उसके असली संसाधन के नाम का इस्तेमाल करें.