Pabrik

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

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

Operasi

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

Berikut adalah 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 mutasi, dan operasi pembuatan yang sesuai untuk CampaignBudgetService ditampilkan.

Demikian pula, kami menyediakan metode praktis untuk mengupdate:

# 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 suka menangani operasi sendiri, Anda bisa mendapatkan operasi mentah, lalu mengisi kolom secara manual.

operation = client.operation.campaign

Resource

Library 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 jenis resource yang diminta akan dihasilkan ke blok yang diteruskan untuk menetapkan kolom.

Layanan

Library ini menyediakan client.service.<service_name> sebagai cara yang praktis untuk mendapatkan 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.v19.[entity]
client.operation.v19.[operation]
client.service.v19.[service]
client.enum.v19.[enum]