Pabrik

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.

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 dengan mudah agar berfungsi dengan Google Ads API.

Berikut adalah contoh pembuatan resource:

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

  cb.delivery_method = :STANDARD
  cb.amount_micros = client.wrapper.int64(500000)
end

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

Perlu diperhatikan bahwa objek yang dihasilkan ke blok cb adalah instance baru CampaignBudget yang kemudian dapat Anda mutasi, dan operasi pembuatan yang sesuai untuk CampaignBudgetService akan 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 = client.wrapper.string(
    "A different interplanetary Cruise #{(Time.new.to_f * 1000).to_i}",
  )
end

campaign_service.mutate_campaigns(customer_id, [update_operation])

Panggilan ini menampilkan operasi update yang diformat dengan baik, dengan mask kolom yang terisi otomatis untuk mengupdate 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 ingin menangani sendiri operasi ini, Anda bisa mendapatkan operasi mentah, lalu mengisi kolom secara manual.

operation = client.operation.campaign

Referensi

Library ini menyediakan client.resource.<resource_type> sebagai cara yang praktis untuk menginisialisasi objek resource:

campaign.network_settings = client.resource.network_settings do |ns|
  ns.target_google_search = client.wrapper.bool(true)
  ns.target_search_network = client.wrapper.bool(true)
  ns.target_content_network = client.wrapper.bool(false)
  ns.target_partner_search_network = client.wrapper.bool(false)
end

Instance baru dari jenis resource yang diminta 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 sebuah 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.v16.[entity]
client.operation.v16.[operation]
client.service.v16.[service]
client.enum.v16.[enum]