Fabbriche

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

I metodi delle fabbriche vengono generati automaticamente per tutti i tipi di risorse, enumerazioni, operazioni e servizi forniti dall'API Google Ads.

Suite operativa

La libreria offre pratici metodi 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 per la creazione di una risorsa:

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

Tieni presente che l'oggetto restituito al blocco cb è una nuova istanza di CampaignBudget che puoi modificare e viene restituita l'operazione di creazione appropriata per CampaignBudgetService.

Analogamente, sono disponibili dei metodi per l'aggiornamento di:

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

Queste chiamate restituiscono un'operazione di aggiornamento ben strutturata, 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 personalmente all'operazione, puoi recuperare un'operazione non elaborata e compilare manualmente i campi.

operation = client.operation.campaign

Risorse

La libreria offre client.resource.<resource_type> come modo pratico per inizializzare gli oggetti delle risorse:

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

Una nuova istanza del tipo di risorsa richiesto viene restituita al blocco superato per l'impostazione dei campi.

Servizi

La libreria offre client.service.<service_name> come modo pratico per recuperare 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'enumerazione, forniamo anche metodi:

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

Impostare in modo esplicito le versioni dell'API Google Ads

Puoi anche impostare esplicitamente una versione:

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