Fábricas

factories proporciona una interfaz de alto nivel para crear operaciones y recursos. con la biblioteca cliente.

Los métodos de fábricas se generan automáticamente para todos los recursos, enumeraciones, las operaciones y los tipos de servicios que proporciona la API de Google Ads.

Operaciones

La biblioteca proporciona client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> y client.operation.remove_resource.<resource_type> métodos convenientes para crear fácilmente operaciones que funcionen con la API de Google Ads.

Este es un ejemplo de creación de un recurso:

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

  cb.delivery_method = :STANDARD
  cb.amount_micros = 500000
end

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

Ten en cuenta que el objeto cedido al bloque cb es una nueva instancia de CampaignBudget que luego podrás mutar, y la operación de creación adecuada para el Se muestra CampaignBudgetService.

De manera similar, proporcionamos métodos útiles para actualizar los siguientes elementos:

# 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 = "A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}"
end

campaign_service.mutate_campaigns(customer_id, [update_operation])

Estas llamadas muestran una operación de actualización bien formada, con un máscara de campo para actualizar el recurso en la API de Google Ads.

Este es un ejemplo de cómo quitar un recurso con una ruta de acceso a recursos:

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

Si prefieres trabajar con la operación por tu cuenta, puedes obtener una operación sin procesar. y, luego, propagarlos de forma manual.

operation = client.operation.campaign

Recursos

La biblioteca proporciona client.resource.<resource_type> como una forma conveniente de inicializa los objetos de recursos:

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

Una nueva instancia del tipo de recurso solicitado se envía al bloque pasado para de configuración de Terraform.

Servicios

La biblioteca proporciona client.service.<service_name> como una forma conveniente de get objetos Service:

campaign_service = client.service.campaign

Enumeraciones

Recomendamos usar la sintaxis de símbolos para configurar campos enum de forma estática (p.ej., campaign.status = :PAUSED). Sin embargo, si deseas enumerar todos valores válidos para una enum, también proporcionamos métodos para eso:

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ómo configurar de forma explícita las versiones de la API de Google Ads

También puedes establecer una versión de forma explícita:

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