factories
fournit une interface de haut niveau permettant de créer des opérations et des ressources
avec la bibliothèque cliente.
Les méthodes d'usine sont générées automatiquement pour toutes les ressources, énumérations, les opérations et les 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 d'une 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, ainsi que l'opération de création appropriée pour
CampaignBudgetService
est renvoyé.
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 bien structurée, avec un champ 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 de
pour initialiser les objets "resource" :
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 de
obtenir des objets de service:
campaign_service = client.service.campaign
Enums
Nous vous recommandons d'utiliser la syntaxe des symboles pour définir des champs d'énumération de manière statique.
(par exemple, campaign.status = :PAUSED
). Toutefois, si vous souhaitez énumérer toutes les
valides pour une énumération, nous proposons également des méthodes pour cela:
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.v17.[entity]
client.operation.v17.[operation]
client.service.v17.[service]
client.enum.v17.[enum]