factories
bietet eine allgemeine Schnittstelle zum Erstellen von Vorgängen und Ressourcen mit der Clientbibliothek.
Für alle Ressourcen, Enumerationen, Vorgänge und Diensttypen, die von der Google Ads API bereitgestellt werden, werden automatisch Methoden für Factories generiert.
Vorgänge
Die Bibliothek bietet die Methoden client.operation.create_resource.<resource_type>
, client.operation.update_resource.<resource_type>
und client.operation.remove_resource.<resource_type>
, mit denen Sie ganz einfach Vorgänge für die Google Ads API erstellen können.
Hier ein Beispiel für das Erstellen einer 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]
)
Das Objekt, das für den Block cb
zurückgegeben wird, ist eine neue Instanz von CampaignBudget
, die Sie dann mutieren können. Der entsprechende Erstellungsvorgang für CampaignBudgetService
wird zurückgegeben.
Außerdem bieten wir praktische Methoden zum Aktualisieren folgender Elemente:
# 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])
Diese Aufrufe geben einen korrekt formatierten Aktualisierungsvorgang mit einer vorab ausgefüllten Feldmaske zurück, um die Ressource in der Google Ads API zu aktualisieren.
Hier ein Beispiel für das Entfernen einer Ressource über einen Ressourcenpfad:
remove_operation = client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(customer_id, [remove_operation])
Wenn Sie lieber selbst mit dem Vorgang arbeiten möchten, können Sie einen Rohvorgang abrufen und die Felder dann manuell ausfüllen.
operation = client.operation.campaign
Ressourcen
Die Bibliothek bietet client.resource.<resource_type>
als praktische Möglichkeit zum Initialisieren von Ressourcenobjekten:
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
Dem übergebenen Block wird eine neue Instanz des angeforderten Ressourcentyps zum Festlegen von Feldern übergeben.
Dienste
Die Bibliothek bietet client.service.<service_name>
als praktische Möglichkeit, Dienstobjekte abzurufen:
campaign_service = client.service.campaign
Enums
Wir empfehlen, die Symbolsyntax zu verwenden, um Enum-Felder statisch festzulegen (z.B. campaign.status = :PAUSED
). Wenn Sie jedoch alle gültigen Werte für eine Aufzählung auflisten möchten, bieten wir auch dafür Methoden an:
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
Google Ads API-Versionen explizit festlegen
Sie können auch eine Version explizit festlegen:
client.resource.v19.[entity]
client.operation.v19.[operation]
client.service.v19.[service]
client.enum.v19.[enum]