लुकअप यूटिलिटी

एपीआई का इस्तेमाल करते समय प्रोटो क्लास के रेफ़रंस फ़ेच करने के लिए, आपको एपीआई के बारे में अच्छी जानकारी होनी चाहिए. इसके अलावा, आपको सटीक नेमस्पेस पाथ के लिए, प्रोटो रेफ़रंस दस्तावेज़ को बार-बार देखना होगा.

ProtoLookupUtil

GoogleAdsClient पर मौजूद लुकअप यूटिलिटी के तरीके (फ़ैक्ट्री और ServiceLookup की मदद से, लेगसी ProtoLookupUtil क्लास को बदलना) आपको सेवाओं, कार्रवाइयों, एन्यूमरेशन, और संसाधनों के इंस्टेंस खोजने और बनाने की सुविधा देते हैं. इसके लिए, आपको एपीआई वर्शन नंबर और मॉड्यूल नेमस्पेस को ट्रैक करने की ज़रूरत नहीं होती. डिफ़ॉल्ट रूप से, ये तरीके आपके इंस्टॉल किए गए gem (नई रिलीज़ में V26, जहां v26.1 जैसी छोटी एपीआई रिलीज़ अपने मेजर वर्शन मॉड्यूल V26 का इस्तेमाल करती हैं) के साथ काम करने वाले सबसे नए एपीआई वर्शन का इस्तेमाल करते हैं. इसके अलावा, लुकअप कॉल पर साफ़ तौर पर वर्शन प्रीफ़िक्स (जैसे कि v26) बताया जा सकता है.

लुकअप यूटिलिटी के बिना, कैंपेन रिसॉर्स को सीधे उसके वर्शन वाले नेमस्पेस से इंस्टैंशिएट किया जाता है:

campaign =
  Google::Ads::GoogleAds::V26::Resources::Campaign.new

क्लाइंट लुकअप के तरीकों का इस्तेमाल करके, संसाधन को सीधे क्लाइंट से इंस्टैंशिएट किया जा सकता है:

campaign = client.resource.campaign

किसी संसाधन, सेवा या कार्रवाई को फ़ेच करने पर, उस इकाई का एक इंस्टेंस दिखता है:

# Instantiate an operation
operation = client.operation.campaign

सेवा लुकअप

सर्विस क्लाइंट फ़ेच करने के लिए, client.service तरीके का इस्तेमाल करें. भले ही, इस यूटिलिटी का इस्तेमाल अन्य इकाइयों के लिए न किया जा रहा हो. client.service, वापस किए गए सर्विस क्लाइंट पर, पुष्टि करने वाले क्रेडेंशियल और ट्रांसपोर्ट सेटिंग को अपने-आप कॉन्फ़िगर करता है:

campaign_service = client.service.campaign

इन्यूमरेशन लुकअप

protobuf मैसेज में enum फ़ील्ड के लिए, सीधे तौर पर Ruby सिंबल असाइन करें. इसके लिए, इन्यूमरेशन मॉड्यूल को देखने की ज़रूरत नहीं है:

campaign.status = :PAUSED

रनटाइम के दौरान, किसी एन्यूमरेशन के लिए सभी मान्य सिंबल की जांच करने या उन्हें दोहराने के लिए, client.enum का इस्तेमाल करें. इससे उस enum के लिए Google::Protobuf::EnumDescriptor मिलता है:

status_enum = client.enum.campaign_status
status_enum.each { |status| p status }