Fabrikalar

factories, istemci kitaplığıyla işlemler ve kaynaklar oluşturmak için üst düzey bir arayüz sağlar.

Google Ads API tarafından sağlanan tüm kaynaklar, numaralandırmalar, işlemler ve hizmet türleri için fabrika yöntemleri otomatik olarak oluşturulur. Bu sayfadaki örneklerde, bir GoogleAdsClient örneği ve bir hedef customer_id başlattığınız varsayılır:

require 'google/ads/google_ads'

client = Google::Ads::GoogleAds::GoogleAdsClient.new
customer_id = '1234567890'

İşlemler

Kitaplık, Google Ads API ile çalışmak için işlemler oluşturmaya yönelik client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> ve client.operation.remove_resource.<resource_type> kolaylık yöntemleri sağlar.

Aşağıdaki örnekte bir kampanya bütçesi kaynağı oluşturulmaktadır:

campaign_budget_operation =
  client.operation.create_resource.campaign_budget do |budget|
    budget.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"
    budget.delivery_method = :STANDARD
    budget.amount_micros = 500_000
  end

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

Bloka aktarılan nesnenin (budget) değiştirebileceğiniz yeni bir CampaignBudget örneği olduğunu ve CampaignBudgetService için uygun oluşturma işleminin döndürüldüğünü unutmayın.

Benzer şekilde, kitaplık kaynakları güncellemek için kolaylık sağlayan yöntemler sunar:

campaign_service = client.service.campaign

# 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: customer_id,
  operations: [update_operation]
)

# If you have a full resource proto:
update_operation = client.operation.update_resource.campaign(campaign) do |camp|
  camp.name = "A different Cruise #{(Time.new.to_f * 1000).to_i}"
end

campaign_service.mutate_campaigns(
  customer_id: customer_id,
  operations: [update_operation]
)

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

Aşağıdaki örnekte, kaynak yolu kullanılarak bir kaynak kaldırılıyor:

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

İşlemi kendiniz yapmak isterseniz ham işlem alıp alanları manuel olarak doldurabilirsiniz:

operation = client.operation.campaign

Kaynaklar

Kitaplık, kaynak nesnelerini başlatmak için 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

İstenen kaynak türünün yeni bir örneği, alanları ayarlamak için iletilen bloğa verilir.

Hizmetler

Kitaplık, hizmet istemci nesnelerini almak için client.service.<service_name> sağlar:

campaign_service = client.service.campaign

Sıralamalar

Enum alanlarını statik olarak ayarlamak için sembol söz dizimini (örneğin, campaign.status = :PAUSED) kullanın. Bir enum için geçerli tüm değerleri listelemek üzere client.enum oluşturucusunu kullanın:

client.enum.ad_type.each { |ad_type| p ad_type }
# Output:
# :UNSPECIFIED
# :UNKNOWN
# :TEXT_AD
# :EXPANDED_TEXT_AD
# :EXPANDED_DYNAMIC_SEARCH_AD
# :HOTEL_AD
# :SHOPPING_SMART_AD
# :SHOPPING_PRODUCT_AD
# :VIDEO_AD
# :IMAGE_AD
# :RESPONSIVE_SEARCH_AD
# :LEGACY_RESPONSIVE_DISPLAY_AD
# :APP_AD
# :LEGACY_APP_INSTALL_AD
# :RESPONSIVE_DISPLAY_AD
# :LOCAL_AD
# :HTML5_UPLOAD_AD
# :DYNAMIC_HTML5_AD
# :APP_ENGAGEMENT_AD
# :SHOPPING_COMPARISON_LISTING_AD
# :VIDEO_BUMPER_AD
# :VIDEO_NON_SKIPPABLE_IN_STREAM_AD
# :VIDEO_TRUEVIEW_IN_STREAM_AD
# :VIDEO_RESPONSIVE_AD
# :SMART_CAMPAIGN_AD
# :CALL_AD
# :APP_PRE_REGISTRATION_AD
# :IN_FEED_VIDEO_AD
# :DEMAND_GEN_MULTI_ASSET_AD
# :DEMAND_GEN_CAROUSEL_AD
# :TRAVEL_AD
# :DEMAND_GEN_VIDEO_RESPONSIVE_AD
# :DEMAND_GEN_PRODUCT_AD
# :YOUTUBE_AUDIO_AD

Google Ads API sürümlerini açıkça ayarlama

Ayrıca, herhangi bir fabrika çağrısında açıkça ana API sürümü ayarlayabilirsiniz (örneğin, v25; v25.1 gibi küçük API sürümlerinde ana sürüm yöntemi v25 kullanılır):

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