Pabrik

factories menyediakan antarmuka level tinggi untuk membuat operasi dan resource dengan library klien.

Metode factory secara otomatis dibuat untuk semua resource, enum, operasi, dan jenis layanan yang disediakan Google Ads API.

Operasi

Library ini menyediakan client.operation.create_resource.<resource_type>, client.operation.update_resource.<resource_type> dan client.operation.remove_resource.<resource_type> metode praktis untuk membuat operasi dengan mudah agar berfungsi dengan Google Ads API.

Berikut contoh untuk membuat resource:

campaign_budget_operation = client.operation.create_resource.campaign_budget do |cb|
  cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}"

  cb.delivery_method = :STANDARD
  cb.amount_micros = 500000
end

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

Perhatikan bahwa objek yang dihasilkan ke blok cb adalah instance baru dari CampaignBudget yang kemudian dapat Anda ubah, dan operasi {i>create<i} yang sesuai untuk CampaignBudgetService ditampilkan.

Demikian pula, kami menyediakan metode praktis untuk memperbarui:

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

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

campaign_service.mutate_campaigns(customer_id, [update_operation])

Panggilan ini menampilkan operasi pembaruan yang terbentuk dengan baik, dengan mask kolom yang telah diisi sebelumnya untuk memperbarui resource di Google Ads API.

Berikut adalah contoh penghapusan resource menggunakan jalur resource:

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

Jika Anda lebih memilih untuk menangani operasi sendiri, Anda bisa mendapatkan operasi mentah dan kemudian mengisi kolom secara manual.

operation = client.operation.campaign

Resource

Library ini menyediakan client.resource.<resource_type> sebagai cara yang mudah 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 akan dihasilkan ke blok yang diteruskan untuk menetapkan kolom.

Layanan

Library ini menyediakan client.service.<service_name> sebagai cara yang mudah untuk dapatkan objek layanan:

campaign_service = client.service.campaign

Enum

Sebaiknya gunakan sintaksis simbol untuk menetapkan kolom enum secara statis (misalnya, campaign.status = :PAUSED). Namun, jika Anda ingin menghitung semua nilai yang valid untuk enum, kami juga menyediakan metode untuk itu:

client.enum.ad_type.each { |x| p x }
    :SHOPPING_PRODUCT_AD
    :GMAIL_AD
    :UNKNOWN
    :UNSPECIFIED
    :CALL_ONLY_AD
    :VIDEO_AD
    :IMAGE_AD
    :EXPANDED_DYNAMIC_SEARCH_AD
    :RESPONSIVE_DISPLAY_AD
    :TEXT_AD
    :LEGACY_RESPONSIVE_DISPLAY_AD
    :LEGACY_APP_INSTALL_AD
    :APP_AD
    :SHOPPING_SMART_AD
    :EXPANDED_TEXT_AD
    :HOTEL_AD
    :RESPONSIVE_SEARCH_AD

Menetapkan versi Google Ads API secara eksplisit

Anda juga dapat menetapkan versi secara eksplisit:

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