کارخانه‌ها

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

شمارشی‌ها

از نحو نماد برای تنظیم ایستا فیلدهای شمارشی استفاده کنید (برای مثال، campaign.status = :PAUSED). برای شمارش همه مقادیر معتبر برای یک شمارش، از کارخانه 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 را به‌طور صریح تنظیم کنید

همچنین می‌توانید نسخه اصلی API را به‌طور صریح در هر فراخوانی کارخانه تنظیم کنید (برای مثال، v26؛ نسخه‌های فرعی API مانند v25.1 از روش نسخه اصلی v25 استفاده می‌کنند):

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