Fabrikalar

factories, istemci kitaplığıyla işlem ve kaynak oluşturmak için üst düzey bir arayüz sunar.

Fabrika yöntemleri, Google Ads API tarafından sağlanan tüm kaynaklar, numaralandırmalar, işlemler ve hizmet türleri için otomatik olarak oluşturulur.

İşlemler

Kitaplık, Google Ads API ile çalışacak işlemleri kolayca oluşturmak için client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> ve client.operation.remove_resource.<resource_type> kullanışlı yöntemler sunar.

Aşağıda, kaynak oluşturmaya ilişkin bir örnek verilmiştir:

campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
  cb.name = client.wrapper.string(
    "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}",
  )

  cb.delivery_method = :STANDARD
  cb.amount_micros = client.wrapper.int64(500000)
end

return_budget = client.service.campaign_budget.mutate_campaign_budgets(
  customer_id,
  [campaign_budget_operation]
)

cb bloğuna verilen nesnenin daha sonra dönüştürebileceğiniz yeni bir CampaignBudget örneği olduğunu ve CampaignBudgetService için uygun oluşturma işleminin döndürüleceğini unutmayın.

Benzer şekilde, güncelleme konusunda kolaylık sağlayan yöntemler de sunuyoruz:

# 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 = client.wrapper.string(
    "A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}",
  )
end

campaign_service.mutate_campaigns(customer_id, [update_operation])

Bu çağrılar, Google Ads API'deki kaynağı güncellemek için önceden doldurulmuş bir alan maskesiyle iyi oluşturulmuş bir güncelleme işlemi döndürür.

Kaynak yolu kullanılarak kaynak kaldırmayla ilgili bir örnek aşağıda verilmiştir:

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

İşlemle kendiniz çalışmak isterseniz ham işlem alıp alanları manuel olarak doldurabilirsiniz.

operation = client.operation.campaign

Kaynaklar

Kitaplık, kaynak nesnelerini başlatmanın kolay bir yolu olarak client.resource.<resource_type> sağlar:

campaign.network_settings = client.resource.network_settings do |ns|
  ns.target_google_search = client.wrapper.bool(true)
  ns.target_search_network = client.wrapper.bool(true)
  ns.target_content_network = client.wrapper.bool(false)
  ns.target_partner_search_network = client.wrapper.bool(false)
end

Ayar alanları için geçirilen bloka istenen kaynak türünün yeni bir örneği verilir.

Hizmetler

Kitaplık, hizmet nesnelerini almanın kolay bir yolu olarak client.service.<service_name> sunar:

campaign_service = client.service.campaign

Sıralamalar

Enum alanlarını statik olarak ayarlamak için simge söz dizimini kullanmanızı öneririz (ör. campaign.status = :PAUSED). Bununla birlikte, bir numaralandırmaya ilişkin tüm geçerli değerleri numaralandırmak isterseniz bunun için de yöntemler sağlarız:

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 sürümlerini açık bir şekilde ayarlamak

Ayrıca, bir sürümü açıkça ayarlayabilirsiniz:

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