Nhà máy

factories cung cấp một giao diện cấp cao để tạo các thao tác và tài nguyên bằng thư viện ứng dụng.

Các phương thức của nhà máy sẽ được tạo tự động cho tất cả các tài nguyên, enum, thao tác và loại dịch vụ do Google Ads API cung cấp. Các ví dụ trên trang này giả định rằng bạn đã khởi chạy một thực thể GoogleAdsClient và một customer_id đích:

require 'google/ads/google_ads'

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

Vận hành

Thư viện này cung cấp các phương thức tiện lợi client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> và client.operation.remove_resource.<resource_type> để tạo các thao tác nhằm làm việc với Google Ads API.

Ví dụ sau đây tạo một tài nguyên ngân sách chiến dịch:

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]
)

Xin lưu ý rằng đối tượng được tạo cho khối (budget) là một phiên bản mới của CampaignBudget mà bạn có thể thay đổi và thao tác tạo thích hợp cho CampaignBudgetService sẽ được trả về.

Tương tự, thư viện này cung cấp các phương thức thuận tiện để cập nhật tài nguyên:

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]
)

Các lệnh gọi này trả về một thao tác cập nhật được định dạng đúng cách với một mặt nạ trường được điền sẵn để cập nhật tài nguyên trong Google Ads API.

Ví dụ sau đây minh hoạ cách xoá một tài nguyên bằng đường dẫn tài nguyên:

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]
)

Nếu muốn tự thực hiện thao tác, bạn có thể nhận một thao tác thô rồi điền các trường theo cách thủ công:

operation = client.operation.campaign

Tài nguyên

Thư viện này cung cấp client.resource.<resource_type> để khởi chạy các đối tượng tài nguyên:

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

Một thực thể mới của loại tài nguyên được yêu cầu sẽ được tạo cho khối đã truyền để thiết lập các trường.

Dịch vụ

Thư viện này cung cấp client.service.<service_name> để truy xuất các đối tượng ứng dụng khách dịch vụ:

campaign_service = client.service.campaign

Enum

Sử dụng cú pháp ký hiệu để đặt tĩnh các trường enum (ví dụ: campaign.status = :PAUSED). Để liệt kê tất cả các giá trị hợp lệ cho một enum, hãy sử dụng nhà máy 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

Thiết lập rõ ràng các phiên bản Google Ads API

Bạn cũng có thể đặt rõ ràng phiên bản API chính cho mọi lệnh gọi đến nhà máy (ví dụ: v25; các bản phát hành API phụ như v25.1 sử dụng phương thức phiên bản chính v25):

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