Fabbriche

factories offre un'interfaccia di alto livello per la creazione di operazioni e risorse con la libreria client.

I metodi di Factory vengono generati automaticamente per tutte le risorse, gli enum, le operazioni e i tipi di servizio forniti dall'API Google Ads.

Operazioni

La libreria fornisce client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> e client.operation.remove_resource.<resource_type> pratici metodi per creare facilmente operazioni da utilizzare con l'API Google Ads.

Ecco un esempio per la creazione di una risorsa:

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

Tieni presente che l'oggetto ceduto al blocco cb è una nuova istanza di CampaignBudget che puoi modificare, nonché l'operazione di creazione appropriata per Viene restituito CampaignBudgetService.

Analogamente, forniamo metodi pratici per l'aggiornamento:

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

Queste chiamate restituiscono un'operazione di aggiornamento formulata correttamente, con un maschera di campo per aggiornare la risorsa nell'API Google Ads.

Ecco un esempio di rimozione di una risorsa utilizzando un percorso:

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

Se preferisci lavorare autonomamente, puoi ottenere un'operazione non elaborata e compilare manualmente i campi.

operation = client.operation.campaign

Risorse

La libreria mette a disposizione client.resource.<resource_type> come modo pratico per inizializza gli oggetti delle risorse:

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

Viene assegnata una nuova istanza del tipo di risorsa richiesto al blocco passato per dell'impostazione dei campi.

Servizi

La libreria mette a disposizione client.service.<service_name> come modo pratico per Recupera oggetti di servizio:

campaign_service = client.service.campaign

Enum

Ti consigliamo di utilizzare la sintassi dei simboli per l'impostazione statica dei campi di enumerazione (ad es. campaign.status = :PAUSED). Tuttavia, se vuoi enumerare tutte le valori validi per un'enumerazione, forniamo anche metodi per farlo:

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

Impostazione esplicita delle versioni dell'API Google Ads

Puoi anche impostare esplicitamente una versione:

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