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 (yang didukung oleh
Factory 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 diinstal (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 versi:
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 transportasi 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 atas 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 }