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ılmaktadır:

require 'google/ads/google_ads'

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

İşlemler

client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> ve client.operation.remove_resource.<resource_type> kolaylık yöntemleri sunan kitaplık, Google Ads API ile çalışmaya yönelik işlemler oluşturmanızı 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 (budget) verilen nesnenin, 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ılmaktadır:

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]
)

İşlemle kendiniz çalışmayı tercih ederseniz ham bir işlem alabilir ve ardından 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 istemcisi 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 kullanın (ör. campaign.status = :PAUSED). Bir enum'un tüm geçerli değerlerini listelemek için client.enum factory'yi 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, v26; v25.1 gibi küçük API sürümleri, ana sürüm yöntemini kullanır v25):

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