फ़ैक्ट्री

factories, क्लाइंट लाइब्रेरी की मदद से ऑपरेशन और संसाधन बनाने के लिए, हाई-लेवल इंटरफ़ेस उपलब्ध कराता है.

Google Ads API से मिलने वाले सभी संसाधनों, enum, कार्रवाइयों, और सेवा के टाइप के लिए, फ़ैक्ट्री मेथड अपने-आप जनरेट होते हैं. इस पेज पर दिए गए उदाहरणों में यह माना गया है कि आपने GoogleAdsClient इंस्टेंस और टारगेट customer_id को शुरू कर दिया है:

require 'google/ads/google_ads'

client = Google::Ads::GoogleAds::GoogleAdsClient.new
customer_id = '1234567890'

कार्रवाइयां

लाइब्रेरी में 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 |budget|
    budget.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
    budget.delivery_method = :STANDARD
    budget.amount_micros = 500_000
  end

return_budget = client.service.campaign_budget.mutate_campaign_budgets(
  customer_id: customer_id,
  operations: [campaign_budget_operation]
)

ध्यान दें कि ब्लॉक (budget) को दिया गया ऑब्जेक्ट, CampaignBudget का एक नया इंस्टेंस है. इसमें बदलाव किया जा सकता है. साथ ही, CampaignBudgetService के लिए सही क्रिएट ऑपरेशन दिखाया जाता है.

इसी तरह, लाइब्रेरी में संसाधनों को अपडेट करने के लिए आसान तरीके उपलब्ध हैं:

campaign_service = client.service.campaign

# 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: customer_id,
  operations: [update_operation]
)

# If you have a full resource proto:
update_operation = client.operation.update_resource.campaign(campaign) do |camp|
  camp.name = "A different Cruise #{(Time.new.to_f * 1000).to_i}"
end

campaign_service.mutate_campaigns(
  customer_id: customer_id,
  operations: [update_operation]
)

ये कॉल, Google Ads API में संसाधन को अपडेट करने के लिए, पहले से भरे गए फ़ील्ड मास्क के साथ, सही तरीके से अपडेट करने की कार्रवाई दिखाते हैं.

यहां दिए गए उदाहरण में, रिसॉर्स पाथ का इस्तेमाल करके रिसॉर्स को हटाया गया है:

campaign_service = client.service.campaign
remove_operation =
  client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(
  customer_id: customer_id,
  operations: [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

enum फ़ील्ड को स्टैटिक तौर पर सेट करने के लिए, सिंबल सिंटैक्स का इस्तेमाल करें. उदाहरण के लिए, campaign.status = :PAUSED. किसी enum की सभी मान्य वैल्यू की सूची बनाने के लिए, client.enum फ़ैक्ट्री का इस्तेमाल करें:

client.enum.ad_type.each { |ad_type| p ad_type }
# Output:
# :UNSPECIFIED
# :UNKNOWN
# :TEXT_AD
# :EXPANDED_TEXT_AD
# :EXPANDED_DYNAMIC_SEARCH_AD
# :HOTEL_AD
# :SHOPPING_SMART_AD
# :SHOPPING_PRODUCT_AD
# :VIDEO_AD
# :IMAGE_AD
# :RESPONSIVE_SEARCH_AD
# :LEGACY_RESPONSIVE_DISPLAY_AD
# :APP_AD
# :LEGACY_APP_INSTALL_AD
# :RESPONSIVE_DISPLAY_AD
# :LOCAL_AD
# :HTML5_UPLOAD_AD
# :DYNAMIC_HTML5_AD
# :APP_ENGAGEMENT_AD
# :SHOPPING_COMPARISON_LISTING_AD
# :VIDEO_BUMPER_AD
# :VIDEO_NON_SKIPPABLE_IN_STREAM_AD
# :VIDEO_TRUEVIEW_IN_STREAM_AD
# :VIDEO_RESPONSIVE_AD
# :SMART_CAMPAIGN_AD
# :CALL_AD
# :APP_PRE_REGISTRATION_AD
# :IN_FEED_VIDEO_AD
# :DEMAND_GEN_MULTI_ASSET_AD
# :DEMAND_GEN_CAROUSEL_AD
# :TRAVEL_AD
# :DEMAND_GEN_VIDEO_RESPONSIVE_AD
# :DEMAND_GEN_PRODUCT_AD
# :YOUTUBE_AUDIO_AD

Google Ads API के वर्शन साफ़ तौर पर सेट करना

किसी भी फ़ैक्ट्री कॉल पर, एपीआई का मुख्य वर्शन साफ़ तौर पर सेट किया जा सकता है. उदाहरण के लिए, v26; v25.1 जैसी छोटी एपीआई रिलीज़, मुख्य वर्शन के तरीके v25 का इस्तेमाल करती हैं:

client.resource.v26.[entity]
client.operation.v26.[operation]
client.service.v26.[service]
client.enum.v26.[enum]