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 = "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]
)
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 = "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 = true
ns.target_search_network = true
ns.target_content_network = false
ns.target_partner_search_network = 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.v17.[entity]
client.operation.v17.[operation]
client.service.v17.[service]
client.enum.v17.[enum]