API ব্যবহার করার সময় প্রোটো ক্লাসের রেফারেন্স ফেচ করতে হলে, আপনাকে হয় API সম্পর্কে খুব ভালোভাবে জানতে হবে অথবা সঠিক নেমস্পেস পাথের জন্য প্রোটো রেফারেন্স ডকুমেন্টেশন ঘনঘন দেখতে হবে।
ProtoLookupUtil
GoogleAdsClient-এ লুকআপ ইউটিলিটি পদ্ধতি (Factories এবং ServiceLookup দ্বারা সমর্থিত, যা পুরনো
ProtoLookupUtil ক্লাসকে প্রতিস্থাপন করে) আপনাকে API ভার্সন নম্বর এবং মডিউল নেমস্পেস ট্র্যাক না করেই পরিষেবা,
অপারেশন, গণনা এবং রিসোর্সের ইনস্ট্যান্স খুঁজতে এবং তৈরি করতে দেয়। ডিফল্ট হিসেবে, এইসব পদ্ধতি আপনার ইনস্টল করা জেমের (লেটেস্ট রিলিজে V26, যেখানে v26.1-এর মতো মাইনর API রিলিজ তাদের মেজর ভার্সন মডিউল V26 ব্যবহার করে) মাধ্যমে কাজ করে এমন সর্বোচ্চ API ভার্সন ব্যবহার করে অথবা আপনি লুকআপ কলে একটি নির্দিষ্ট ভার্সন প্রিফিক্স (যেমন v26) উল্লেখ করতে পারেন।
লুকআপ ইউটিলিটি ছাড়া, আপনি সরাসরি এর ভার্সন করা নেমস্পেস থেকে ক্যাম্পেন রিসোর্স ইনস্ট্যানশিয়েট করেন:
campaign =
Google::Ads::GoogleAds::V26::Resources::Campaign.new
ক্লায়েন্ট লুকআপ পদ্ধতির মাধ্যমে, আপনি সরাসরি ক্লায়েন্ট থেকে রিসোর্স ইনস্ট্যানশিয়েট করতে পারবেন:
campaign = client.resource.campaign
কোনও রিসোর্স, পরিষেবা বা অপারেশন ফেচ করার সময়, সেই এন্টিটির একটি ইনস্ট্যান্স ফেরত দেওয়া হয়:
# Instantiate an operation
operation = client.operation.campaign
পরিষেবা লুকআপ
অন্যান্য এন্টিটির জন্য এই ইউটিলিটি ব্যবহার না করলেও, পরিষেবা ক্লায়েন্ট ফেচ করতে client.service পদ্ধতি ব্যবহার করুন। client.service অটোমেটিক আপনার যাচাইকরণ সংক্রান্ত ক্রেডেনশিয়াল এবং ফেরত দেওয়া পরিষেবা ক্লায়েন্টে ট্রান্সপোর্ট সেটিংস কনফিগার করে:
campaign_service = client.service.campaign
এনিউমারেশন লুকআপ
protobuf মেসেজে enum ফিল্ডের জন্য, সরাসরি একটি Ruby সিম্বল অ্যাসাইন করুন, এনিউমারেশন মডিউল খোঁজার পরিবর্তে:
campaign.status = :PAUSED
রানটাইমে একটি এনিউমারেশনের জন্য সমস্ত বৈধ প্রতীক পরীক্ষা বা পুনরাবৃত্তি করতে,
client.enum ব্যবহার করুন, যা সেই
enum-এর জন্য Google::Protobuf::EnumDescriptor রিটার্ন করে:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }