Fabrikalar

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

Fabrika yöntemleri, Google Ads API tarafından sağlanan tüm kaynaklar, enum'lar, işlemler ve hizmet türleri için 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şlem 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 (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ıkta kaynakları güncellemek için kullanışlı yöntemler de bulunur:

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ş bir alan maskesiyle doğru 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 (örneğin, campaign.status = :PAUSED). Bir enum için tüm geçerli değerleri listelemek üzere 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 ana API sürümünü açıkça 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]