factories menyediakan antarmuka tingkat tinggi untuk membuat operasi dan
resource dengan library klien.
Metode factory otomatis dibuat untuk semua resource, enum,
operasi, dan jenis layanan yang disediakan oleh Google Ads API. Contoh di halaman ini mengasumsikan Anda telah menginisialisasi instance GoogleAdsClient dan customer_id target:
require 'google/ads/google_ads'
client = Google::Ads::GoogleAds::GoogleAdsClient.new
customer_id = '1234567890'
Operasi
Library ini menyediakan metode praktis client.operation.create_resource.<resource_type>,
client.operation.update_resource.<resource_type>, dan
client.operation.remove_resource.<resource_type> untuk membuat
operasi untuk bekerja dengan Google Ads API.
Contoh berikut membuat resource anggaran kampanye:
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]
)
Perhatikan bahwa objek yang dihasilkan ke blok (budget) adalah instance baru
CampaignBudget yang dapat Anda ubah, dan operasi
pembuatan yang sesuai untuk CampaignBudgetService akan ditampilkan.
Demikian pula, library ini menyediakan metode praktis untuk memperbarui resource:
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]
)
Panggilan ini menampilkan operasi update yang terbentuk dengan baik dengan mask kolom yang sudah terisi otomatis untuk memperbarui resource di Google Ads API.
Contoh berikut menghapus resource menggunakan jalur resource:
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]
)
Jika Anda lebih memilih untuk mengerjakan operasi sendiri, Anda bisa mendapatkan operasi mentah lalu mengisi kolom secara manual:
operation = client.operation.campaign
Resource
Library ini menyediakan client.resource.<resource_type> untuk melakukan inisialisasi objek
resource:
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
Instance baru dari jenis resource yang diminta diberikan ke blok yang diteruskan untuk menetapkan kolom.
Layanan
Library menyediakan client.service.<service_name> untuk mengambil objek
klien layanan:
campaign_service = client.service.campaign
Enum
Gunakan sintaksis simbol untuk menyetel kolom enum secara statis (misalnya,
campaign.status = :PAUSED). Untuk menghitung semua nilai yang valid untuk enum, gunakan factory
client.enum:
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
Menetapkan versi Google Ads API secara eksplisit
Anda juga dapat secara eksplisit menetapkan versi API utama pada panggilan factory apa pun (misalnya, v25; rilis API minor seperti v25.1 menggunakan metode versi utama v25):
client.resource.v25.[entity]
client.operation.v25.[operation]
client.service.v25.[service]
client.enum.v25.[enum]