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, énumérations, opérations et types de services fournis par l'API Google Ads. Les exemples de cette page supposent que vous avez initialisé une instance GoogleAdsClient et une 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 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 d'accès à la 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 renseigner manuellement les champs :
operation = client.operation.campaign
Ressources
La bibliothèque fournit client.resource.<resource_type> pour initialiser les objets de ressources :
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 générée pour le bloc transmis afin de 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 des symboles pour définir statiquement les champs d'énumération (par exemple, campaign.status = :PAUSED). Pour énumérer toutes les valeurs valides d'une énumération, 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 majeure de l'API sur n'importe quel appel de fabrique (par exemple, v25). Les versions mineures de l'API, telles que la version 25.1, utilisent la méthode de version majeure v25 :
client.resource.v25.[entity]
client.operation.v25.[operation]
client.service.v25.[service]
client.enum.v25.[enum]