अस्थायी आईडी का इस्तेमाल करना

BatchJobService की एक बेहतरीन सुविधा यह है कि इसमें अस्थायी आईडी का इस्तेमाल किया जा सकता है.

ऐसा करने के लिए, नए संसाधन के resource_name को नेगेटिव आईडी का इस्तेमाल करना होगा. उदाहरण के लिए, अगर आपने कोई कैंपेन बनाया और उसके रिसॉर्स का नाम customers/<YOUR_CUSTOMER_ID>/campaigns/-1 बताया है, तो बाद में होने वाली कार्रवाई में विज्ञापन ग्रुप बनाते समय, उस रिसॉर्स के नाम से रेफ़रंस दिया जा सकता है. आपका तय किया गया -1, बनाए गए कैंपेन के असल आईडी से अपने-आप बदल जाएगा.

कुछ समय के लिए उपलब्ध रिसॉर्स के नाम इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • किसी अस्थायी संसाधन का नाम सिर्फ़ तब इस्तेमाल किया जा सकता है, जब उसे किसी संसाधन में तय किया गया हो. नीचे दिए गए उदाहरण में, कार्रवाइयों की सूची में विज्ञापन समूह कार्रवाई, कैंपेन कार्रवाई के बाद दिखाई देनी चाहिए.
  • सभी जॉब में या बदलाव करने के अनुरोधों में अस्थायी संसाधनों के नाम याद नहीं रखे जाते हैं. पिछले जॉब में बनाए गए संसाधन का रेफ़रंस देने या बदलाव करने के अनुरोध के लिए, संसाधन के असल नाम का इस्तेमाल करें.
  • किसी एक जॉब या बदलाव करने के अनुरोध के लिए, हर अस्थायी संसाधन के नाम में एक यूनीक नेगेटिव नंबर का इस्तेमाल होना चाहिए, भले ही वह अलग-अलग तरह के रिसॉर्स से हो. अगर किसी एक जॉब में या बदलाव करने के अनुरोध में अस्थायी आईडी का फिर से इस्तेमाल किया जाता है, तो गड़बड़ी का मैसेज दिखता है.

उदाहरण

ऊपर बताई गई स्थिति का एक ठोस उदाहरण देने के लिए, मान लें कि आपको एक ही एपीआई अनुरोध में कोई कैंपेन, विज्ञापन ग्रुप, और विज्ञापन जोड़ना है. आपको अपने अनुरोध के लिए एक स्ट्रक्चर तैयार करना होगा, जो इनके जैसा हो:

mutate_operations: [
  {
    campaign_operation: {
      create: {
        resource_name: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1",
        ...
      }
    }
  },
  {
    ad_group_operation: {
      create: {
        resource_name: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2",
        campaign: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1"
        ...
      }
    }
  },
  {
    ad_group_ad_operation: {
      create: {
        ad_group: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2"
        ...
      }
    }
  },
]

ध्यान दें कि विज्ञापन ग्रुप के लिए एक नए अस्थायी आईडी का इस्तेमाल किया गया है, क्योंकि हम कैंपेन में इस्तेमाल किए गए -1 का फिर से इस्तेमाल नहीं कर सकते. साथ ही, विज्ञापन ग्रुप का विज्ञापन बनाते समय भी हम इस विज्ञापन ग्रुप का रेफ़रंस देते हैं. विज्ञापन ग्रुप में उस संसाधन का नाम है जिसे हमने अनुरोध में, कैंपेन के लिए सेट किया गया था. हालांकि, ad_group_ad_operation में resource_name की ज़रूरत नहीं है, क्योंकि आगे की किसी कार्रवाई में इसका रेफ़रंस नहीं दिया जा रहा है.