factories fornisce un'interfaccia di alto livello per creare operazioni e risorse con la libreria client.
I metodi di fabbrica vengono generati automaticamente per tutte le risorse, gli enum,
le operazioni e i tipi di servizio forniti dall'API Google Ads. Gli esempi in questa pagina
presuppongono che tu abbia inizializzato un'istanza GoogleAdsClient e un customer_id di destinazione:
require 'google/ads/google_ads'
client = Google::Ads::GoogleAds::GoogleAdsClient.new
customer_id = '1234567890'
Operazioni
La libreria fornisce metodi pratici per creare operazioni per l'utilizzo dell'API Google Ads, tra cui client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> e client.operation.remove_resource.<resource_type>.
L'esempio seguente crea una risorsa budget della campagna:
campaign_budget_operation =
client.operation.create_resource.campaign_budget do |budget|
budget.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
budget.delivery_method = :STANDARD
budget.amount_micros = 500_000
end
return_budget = client.service.campaign_budget.mutate_campaign_budgets(
customer_id: customer_id,
operations: [campaign_budget_operation]
)
Tieni presente che l'oggetto restituito al blocco (budget) è una nuova istanza di
CampaignBudget che puoi modificare e viene restituita l'operazione di creazione
appropriata per CampaignBudgetService.
Allo stesso modo, la libreria fornisce metodi pratici per aggiornare le risorse:
campaign_service = client.service.campaign
# 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: customer_id,
operations: [update_operation]
)
# If you have a full resource proto:
update_operation = client.operation.update_resource.campaign(campaign) do |camp|
camp.name = "A different Cruise #{(Time.new.to_f * 1000).to_i}"
end
campaign_service.mutate_campaigns(
customer_id: customer_id,
operations: [update_operation]
)
Queste chiamate restituiscono un'operazione di aggiornamento ben formata con una maschera di campo precompilata per aggiornare la risorsa nell'API Google Ads.
L'esempio seguente rimuove una risorsa utilizzando un percorso della risorsa:
campaign_service = client.service.campaign
remove_operation =
client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(
customer_id: customer_id,
operations: [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> per inizializzare gli oggetti
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
Viene restituita una nuova istanza del tipo di risorsa richiesto al blocco passato per impostare i campi.
Servizi
La libreria fornisce client.service.<service_name> per recuperare gli oggetti client di servizio:
campaign_service = client.service.campaign
Enum
Utilizza la sintassi dei simboli per impostare staticamente i campi enum (ad esempio,
campaign.status = :PAUSED). Per enumerare tutti i valori validi per un enum, utilizza la factory
client.enum:
client.enum.ad_type.each { |ad_type| p ad_type }
# Output:
# :UNSPECIFIED
# :UNKNOWN
# :TEXT_AD
# :EXPANDED_TEXT_AD
# :EXPANDED_DYNAMIC_SEARCH_AD
# :HOTEL_AD
# :SHOPPING_SMART_AD
# :SHOPPING_PRODUCT_AD
# :VIDEO_AD
# :IMAGE_AD
# :RESPONSIVE_SEARCH_AD
# :LEGACY_RESPONSIVE_DISPLAY_AD
# :APP_AD
# :LEGACY_APP_INSTALL_AD
# :RESPONSIVE_DISPLAY_AD
# :LOCAL_AD
# :HTML5_UPLOAD_AD
# :DYNAMIC_HTML5_AD
# :APP_ENGAGEMENT_AD
# :SHOPPING_COMPARISON_LISTING_AD
# :VIDEO_BUMPER_AD
# :VIDEO_NON_SKIPPABLE_IN_STREAM_AD
# :VIDEO_TRUEVIEW_IN_STREAM_AD
# :VIDEO_RESPONSIVE_AD
# :SMART_CAMPAIGN_AD
# :CALL_AD
# :APP_PRE_REGISTRATION_AD
# :IN_FEED_VIDEO_AD
# :DEMAND_GEN_MULTI_ASSET_AD
# :DEMAND_GEN_CAROUSEL_AD
# :TRAVEL_AD
# :DEMAND_GEN_VIDEO_RESPONSIVE_AD
# :DEMAND_GEN_PRODUCT_AD
# :YOUTUBE_AUDIO_AD
Impostare esplicitamente le versioni dell'API Google Ads
Puoi anche impostare esplicitamente una versione principale dell'API in qualsiasi chiamata di fabbrica (ad esempio, v25; le release secondarie dell'API come la v25.1 utilizzano il metodo della versione principale v25):
client.resource.v25.[entity]
client.operation.v25.[operation]
client.service.v25.[service]
client.enum.v25.[enum]