Fabbriche

factories fornisce 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 metodi di utilità client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> e client.operation.remove_resource.<resource_type> per creare facilmente operazioni da utilizzare con l'API Google Ads.

Ecco un esempio di 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 restituito al blocco cb è una nuova istanza di CampaignBudget che puoi poi modificare e viene restituita l'operazione di creazione appropriata per CampaignBudgetService.

Analogamente, forniamo metodi di praticità 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 ben formattata, con una maschera di campo precompilata per aggiornare la risorsa nell'API Google Ads.

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

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

Se preferisci lavorare direttamente con l'operazione, puoi ottenere un'operazione non elaborata e poi compilare manualmente i campi.

operation = client.operation.campaign

Risorse

La libreria fornisce client.resource.<resource_type> come modo pratico per inizializzare gli oggetti della risorsa:

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

Al blocco passato viene restituita una nuova istanza del tipo di risorsa richiesta per impostare i campi.

Servizi

La libreria fornisce client.service.<service_name> come modo pratico per recuperare gli oggetti di servizio:

campaign_service = client.service.campaign

Enum

Ti consigliamo di utilizzare la sintassi dei simboli per impostare in modo statico i campi enum (ad es. campaign.status = :PAUSED). Tuttavia, se vuoi enumerare tutti i valori validi per un enum, forniamo anche i 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.v19.[entity]
client.operation.v19.[operation]
client.service.v19.[service]
client.enum.v19.[enum]