factories fornisce un'interfaccia di alto livello per la creazione di operazioni e risorse con la libreria client.
I metodi factory vengono generati automaticamente per tutte le risorse, gli enum, le operazioni e i tipi di servizi forniti dall'API Google Ads. Gli esempi riportati 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 i metodi pratici client.operation.create_resource.<resource_type>,
client.operation.update_resource.<resource_type> e
client.operation.remove_resource.<resource_type> per creare
operazioni per l'utilizzo dell'API Google Ads.
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 l'aggiornamento delle 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
Una nuova istanza del tipo di risorsa richiesto viene restituita al blocco passato per l'impostazione dei 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 su qualsiasi chiamata factory (ad esempio, v26; le release secondarie dell'API come v25.1 utilizzano il metodo della versione principale v25):
client.resource.v26.[entity]
client.operation.v26.[operation]
client.service.v26.[service]
client.enum.v26.[enum]