Mengambil referensi ke class proto saat menggunakan API mengharuskan Anda memiliki pemahaman intrinsik tentang API atau sering mencari dokumentasi referensi proto untuk jalur namespace yang tepat.
ProtoLookupUtil
Metode utilitas pencarian di GoogleAdsClient (didukung oleh
Factories dan ServiceLookup, menggantikan class
ProtoLookupUtil lama) memungkinkan Anda mencari dan membuat instance layanan,
operasi, enumerasi, dan resource tanpa harus melacak nomor versi API
dan namespace modul. Secara default, metode ini menggunakan versi API tertinggi yang didukung oleh gem yang Anda instal (V26 dalam rilis terbaru, dengan rilis API minor seperti v25.1 menggunakan modul versi utamanya V25), atau Anda dapat menentukan awalan versi eksplisit (seperti v26) pada panggilan pencarian.
Tanpa utilitas pencarian, Anda membuat instance resource kampanye langsung dari namespace berversi:
campaign =
Google::Ads::GoogleAds::V26::Resources::Campaign.new
Dengan metode pencarian klien, Anda dapat membuat instance resource langsung dari klien:
campaign = client.resource.campaign
Saat mengambil resource, layanan, atau operasi, instance entity tersebut akan ditampilkan:
# Instantiate an operation
operation = client.operation.campaign
Pencarian layanan
Gunakan metode client.service untuk mengambil klien layanan, meskipun Anda tidak menggunakan utilitas ini untuk entity lain. client.service otomatis mengonfigurasi kredensial autentikasi dan setelan transpor Anda pada klien layanan yang ditampilkan:
campaign_service = client.service.campaign
Pencarian enumerasi
Untuk kolom enum pada pesan protobuf, tetapkan simbol Ruby secara langsung, bukan mencari modul enumerasi:
campaign.status = :PAUSED
Untuk memeriksa atau melakukan iterasi pada semua simbol yang valid untuk enumerasi saat runtime, gunakan
client.enum, yang menampilkan Google::Protobuf::EnumDescriptor untuk
enum tersebut:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }