Fabriken

factories bietet eine allgemeine Oberfläche zum Erstellen von Vorgängen und Ressourcen mit der Clientbibliothek.

Fabrikmethoden werden automatisch für alle Ressourcen, Enums, -Vorgängen und Diensttypen, die von der Google Ads API bereitgestellt werden.

Vorgänge

Die Bibliothek bietet client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> und client.operation.remove_resource.<resource_type> Methoden zum einfachen Erstellen von Vorgängen für die Google Ads API zu.

Hier ist 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 dem Block cb übergeben wird, ist eine neue Instanz von CampaignBudget den Sie anschließend verändern können, sowie den entsprechenden Erstellungsvorgang für die CampaignBudgetService wird zurückgegeben.

Genauso bieten wir einfache 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 einem vorab ausgefüllten Feldmaske, um die Ressource in der Google Ads API zu aktualisieren.

Hier ist ein Beispiel für das Entfernen einer Ressource mithilfe eines Ressourcenpfads:

remove_operation = client.operation.remove_resource.campaign(campaign_resource_name)
campaign_service.mutate_campaigns(customer_id, [remove_operation])

Wenn Sie lieber selbst mit der Operation arbeiten möchten, können Sie eine Rohoperation erhalten. und füllen Sie die Felder dann manuell aus.

operation = client.operation.campaign

Ressourcen

Die Bibliothek bietet client.resource.<resource_type> eine bequeme Möglichkeit, Initialisieren Sie Ressourcenobjekte:

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

Eine neue Instanz des angeforderten Ressourcentyps wird an den übergebenen Block für zurückgegeben. Einstellungsfelder.

Dienste

Die Bibliothek bietet client.service.<service_name> eine bequeme Möglichkeit, Dienstobjekte abrufen:

campaign_service = client.service.campaign

Enums

Wir empfehlen die Verwendung der Symbolsyntax für die statische Festlegung von Enum-Feldern. (z.B. campaign.status = :PAUSED. Wenn Sie jedoch alle gültige -Werte für eine Aufzählung enthalten, bieten wir auch dafür Methoden:

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 explizit eine Version festlegen:

client.resource.v22.[entity]
client.operation.v22.[operation]
client.service.v22.[service]
client.enum.v22.[enum]