फ़ैक्ट्री

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 = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"

  cb.delivery_method = :STANDARD
  cb.amount_micros = 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 = "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 = true
  ns.target_search_network = true
  ns.target_content_network = false
  ns.target_partner_search_network = false
end

फ़ील्ड सेट करने के लिए, अनुरोध किए गए रिसॉर्स टाइप का नया इंस्टेंस, पास किए गए ब्लॉक को दिया जाता है.

सेवाएं

लाइब्रेरी में client.service.<service_name> का इस्तेमाल करके, सेवा ऑब्जेक्ट को आसानी से पाया जा सकता है:

campaign_service = client.service.campaign

Enums

हमारा सुझाव है कि एन्सम फ़ील्ड को स्टैटिक तौर पर सेट करने के लिए, सिंबल सिंटैक्स का इस्तेमाल करें (उदाहरण के लिए, 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.v19.[entity]
client.operation.v19.[operation]
client.service.v19.[service]
client.enum.v19.[enum]