factories fournit une interface de haut niveau pour créer des opérations et des ressources avec la bibliothèque cliente.
Les méthodes de fabrique sont générées automatiquement pour toutes les ressources, les enums, les opérations et les types de services fournis par l'API Google Ads. Les exemples de cette page supposent que vous avez initialisé une instance GoogleAdsClient et un customer_id cible :
require 'google/ads/google_ads'
client = Google::Ads::GoogleAds::GoogleAdsClient.new
customer_id = '1234567890'
Opérations
La bibliothèque fournit des méthodes pratiques client.operation.create_resource.<resource_type>,
client.operation.update_resource.<resource_type> et
client.operation.remove_resource.<resource_type> pour créer
des opérations permettant d'utiliser l'API Google Ads.
L'exemple suivant crée une ressource de budget de la campagne :
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]
)
Notez que l'objet transmis au bloc (budget) est une nouvelle instance de
CampaignBudget que vous pouvez modifier, et que l'opération de création appropriée pour CampaignBudgetService est renvoyée.
De même, la bibliothèque fournit des méthodes pratiques pour mettre à jour les ressources :
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]
)
Ces appels renvoient une opération de mise à jour bien formée avec un masque de champ prérempli pour mettre à jour la ressource dans l'API Google Ads.
L'exemple suivant supprime une ressource à l'aide d'un chemin de ressource :
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]
)
Si vous préférez travailler vous-même avec l'opération, vous pouvez obtenir une opération brute, puis remplir manuellement les champs :
operation = client.operation.campaign
Ressources
La bibliothèque fournit client.resource.<resource_type> pour initialiser les objets de ressource
:
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
Une nouvelle instance du type de ressource demandé est transmise au bloc transmis pour définir les champs.
Services
La bibliothèque fournit client.service.<service_name> pour récupérer les objets clients de service
:
campaign_service = client.service.campaign
Enums
Utilisez la syntaxe de symbole pour définir statiquement les champs d'enum (par exemple, campaign.status = :PAUSED). Pour énumérer toutes les valeurs valides d'un enum, utilisez la fabrique 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
Définir explicitement les versions de l'API Google Ads
Vous pouvez également définir explicitement une version d'API majeure sur n'importe quel appel de fabrique (par exemple, v26). Les versions mineures de l'API, telles que v25.1, utilisent la méthode de version majeure v25 :
client.resource.v26.[entity]
client.operation.v26.[operation]
client.service.v26.[service]
client.enum.v26.[enum]