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 را بهطور صریح در هر فراخوانی کارخانهای تنظیم کنید (برای مثال، v25؛ نسخههای فرعی API مثل v25.1 از روش نسخه اصلی v25 استفاده میکنند):
client.resource.v25.[entity]
client.operation.v25.[operation]
client.service.v25.[service]
client.enum.v25.[enum]