फ़ैक्ट्री

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

Google Ads API से मिलने वाले सभी संसाधनों, एनम, कार्रवाइयों, और सेवा के टाइप के लिए, फ़ैक्ट्री मेथड अपने-आप जनरेट होते हैं. इस पेज पर दिए गए उदाहरणों में यह माना गया है कि आपने 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]