factories
, क्लाइंट लाइब्रेरी की मदद से कार्रवाइयां और संसाधन बनाने के लिए हाई-लेवल इंटरफ़ेस उपलब्ध कराता है.
Google Ads API से मिलने वाले सभी संसाधनों, ईएनएम, ऑपरेशन, और सेवा टाइप के लिए फ़ैक्ट्री तरीके अपने-आप जनरेट होते हैं.
ऑपरेशंस
इस लाइब्रेरी में client.operation.create_resource.<resource_type>
,
client.operation.update_resource.<resource_type>
, और
client.operation.remove_resource.<resource_type>
सुविधा के ऐसे तरीके बताए गए हैं जिनसे Google Ads API के साथ काम करना आसान हो जाता है.
यहां संसाधन बनाने का एक उदाहरण दिया गया है:
campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
cb.name = client.wrapper.string(
"Interplanetary Budget #{(Time.new.to_f * 1000).to_i}",
)
cb.delivery_method = :STANDARD
cb.amount_micros = client.wrapper.int64(500000)
end
return_budget = client.service.campaign_budget.mutate_campaign_budgets(
customer_id,
[campaign_budget_operation]
)
ध्यान दें कि ब्लॉक cb
से मिलने वाला ऑब्जेक्ट, CampaignBudget
का एक नया इंस्टेंस है. इसमें बदलाव किया जा सकता है और CampaignBudgetService
के लिए सही 'बनाएं' कार्रवाई मिलती है.
इसी तरह, हम अपडेट करने के लिए आसान तरीके उपलब्ध कराते हैं:
# if you only have a resource name
update_operation = client.operation.update_resource.campaign(campaign_resource_name) do |camp|
camp.status = :PAUSED
end
campaign_service.mutate_campaigns(customer_id, [update_operation])
# if you have a full resource proto
update_operation = client.operation.update_resource.campaign(campaign) do
campaign.name = client.wrapper.string(
"A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}",
)
end
campaign_service.mutate_campaigns(customer_id, [update_operation])
ये कॉल, Google Ads API में संसाधन को अपडेट करने के लिए, पहले से भरे गए फ़ील्ड मास्क के साथ अच्छी तरह से बनाई गई अपडेट कार्रवाई दिखाते हैं.
संसाधन पाथ का इस्तेमाल करके, संसाधन को हटाने का एक उदाहरण यहां दिया गया है:
remove_operation = client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(customer_id, [remove_operation])
अगर आपको खुद कार्रवाई करनी है, तो रॉ ऑपरेशन पाएं और फिर फ़ील्ड को मैन्युअल तरीके से भरें.
operation = client.operation.campaign
रिसॉर्स
रिसॉर्स ऑब्जेक्ट को शुरू करने के लिए, लाइब्रेरी client.resource.<resource_type>
एक आसान तरीका है:
campaign.network_settings = client.resource.network_settings do |ns|
ns.target_google_search = client.wrapper.bool(true)
ns.target_search_network = client.wrapper.bool(true)
ns.target_content_network = client.wrapper.bool(false)
ns.target_partner_search_network = client.wrapper.bool(false)
end
अनुरोध किए गए संसाधन प्रकार का एक नया इंस्टेंस, सेटिंग फ़ील्ड के पास किए गए ब्लॉक में जनरेट किया जाता है.
सेवाएं
लाइब्रेरी, client.service.<service_name>
को सेवा ऑब्जेक्ट पाने का
एक आसान तरीका देती है:
campaign_service = client.service.campaign
Enums
हमारा सुझाव है कि enum फ़ील्ड को स्टैटिक रूप से सेट करने के लिए, सिंबल सिंटैक्स का इस्तेमाल करें
(जैसे, campaign.status = :PAUSED
). हालांकि, अगर आपको किसी एनम में सभी मान्य वैल्यू की गिनती करनी है, तो हम इसके लिए भी तरीके उपलब्ध कराते हैं:
client.enum.ad_type.each { |x| p x }
:SHOPPING_PRODUCT_AD
:GMAIL_AD
:UNKNOWN
:UNSPECIFIED
:CALL_ONLY_AD
:VIDEO_AD
:IMAGE_AD
:EXPANDED_DYNAMIC_SEARCH_AD
:RESPONSIVE_DISPLAY_AD
:TEXT_AD
:LEGACY_RESPONSIVE_DISPLAY_AD
:LEGACY_APP_INSTALL_AD
:APP_AD
:SHOPPING_SMART_AD
:EXPANDED_TEXT_AD
:HOTEL_AD
:RESPONSIVE_SEARCH_AD
Google Ads API के वर्शन साफ़ तौर पर सेट करना
आप साफ़ तौर पर वर्शन भी सेट कर सकते हैं:
client.resource.v16.[entity]
client.operation.v16.[operation]
client.service.v16.[service]
client.enum.v16.[enum]