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.
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 facilement des opérations à utiliser avec l'API Google Ads.
Voici un exemple de création de ressource:
campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
cb.delivery_method = :STANDARD
cb.amount_micros = 500000
end
return_budget = client.service.campaign_budget.mutate_campaign_budgets(
customer_id,
[campaign_budget_operation]
)
Notez que l'objet renvoyé au bloc cb
est une nouvelle instance de CampaignBudget
que vous pouvez ensuite muter, et l'opération de création appropriée pour CampaignBudgetService
est renvoyée.
De même, nous proposons des méthodes pratiques pour mettre à jour:
# 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 = "A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}"
end
campaign_service.mutate_campaigns(customer_id, [update_operation])
Ces appels renvoient une opération de mise à jour valide, avec un masque de champ prérempli pour mettre à jour la ressource dans l'API Google Ads.
Voici un exemple de suppression d'une ressource à l'aide d'un chemin de ressource:
remove_operation = client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(customer_id, [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>
comme moyen pratique d'initialiser des 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ée est renvoyée au bloc transmis pour définir les champs.
Services
La bibliothèque fournit client.service.<service_name>
comme moyen pratique d'obtenir des objets de service:
campaign_service = client.service.campaign
Enums
Nous vous recommandons d'utiliser la syntaxe des symboles pour définir statiquement les champs d'énumération (par exemple, campaign.status = :PAUSED
). Toutefois, si vous souhaitez énumérer toutes les valeurs valides d'une énumération, nous fournissons également des méthodes à cet effet:
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
Définir explicitement les versions de l'API Google Ads
Vous pouvez également définir explicitement une version:
client.resource.v19.[entity]
client.operation.v19.[operation]
client.service.v19.[service]
client.enum.v19.[enum]