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]