Nhà máy

factories cung cấp 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.

Hệ thống sẽ tự động tạo phương thức nhà máy cho tất cả các tài nguyên, giá trị enum, thao tác và loại dịch vụ do API Google Ads cung cấp.

Hoạt động tính toán

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>client.operation.remove_resource.<resource_type> để dễ dàng tạo các thao tác để hoạt động với API Google Ads.

Dưới đây là ví dụ về cách tạo tài nguyên:

campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
  cb.name = client.wrapper.string(
    "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}",
  )

  cb.delivery_method = :STANDARD
  cb.amount_micros = client.wrapper.int64(500000)
end

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

Lưu ý rằng đối tượng được tạo ra cho khối cb là một thực thể mới của CampaignBudget mà sau đó 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ự, chúng tôi cung cấp các phương thức thuận tiện để cập nhật:

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

# if you have a full resource proto
update_operation = client.operation.update_resource.campaign(campaign) do
  campaign.name = client.wrapper.string(
    "A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}",
  )
end

campaign_service.mutate_campaigns(customer_id, [update_operation])

Những lệnh gọi này trả về một hoạt động 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 API Google Ads.

Dưới đây là ví dụ về cách xoá tài nguyên bằng đường dẫn tài nguyên:

remove_operation = client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(customer_id, [remove_operation])

Nếu muốn tự làm việc với thao tác này, bạn có thể lấy thao tác thô, sau đó đ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> như một cách thuận tiện để khởi tạo các đối tượng tài nguyên:

campaign.network_settings = client.resource.network_settings do |ns|
  ns.target_google_search = client.wrapper.bool(true)
  ns.target_search_network = client.wrapper.bool(true)
  ns.target_content_network = client.wrapper.bool(false)
  ns.target_partner_search_network = client.wrapper.bool(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 cho các trường cài đặt.

Dịch vụ

Thư viện cung cấp client.service.<service_name> là một cách thuận tiện để lấy đối tượng dịch vụ:

campaign_service = client.service.campaign

Enum

Bạn nên sử dụng cú pháp biểu tượng để đặt cố định các trường enum (ví dụ: campaign.status = :PAUSED). Tuy nhiên, nếu bạn muốn liệt kê tất cả các giá trị hợp lệ cho một enum, chúng tôi cũng cung cấp các phương thức để làm việc đó:

client.enum.ad_type.each { |x| p x }
    :SHOPPING_PRODUCT_AD
    :GMAIL_AD
    :UNKNOWN
    :UNSPECIFIED
    :CALL_ONLY_AD
    :VIDEO_AD
    :IMAGE_AD
    :EXPANDED_DYNAMIC_SEARCH_AD
    :RESPONSIVE_DISPLAY_AD
    :TEXT_AD
    :LEGACY_RESPONSIVE_DISPLAY_AD
    :LEGACY_APP_INSTALL_AD
    :APP_AD
    :SHOPPING_SMART_AD
    :EXPANDED_TEXT_AD
    :HOTEL_AD
    :RESPONSIVE_SEARCH_AD

Cài đặt rõ ràng các phiên bản API Google Ads

Bạn cũng có thể đặt rõ ràng một phiên bản:

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