কনফিগারেশন

কনফিগারেশন একটি Config ক্লাস ব্যবহার করে সম্পন্ন করা হয়। আপনি এই ক্লাসটি একাধিক উপায়ে অ্যাক্সেস করতে পারেন, যেমন একটি কনফিগারেশন ফাইল লেখা, সৃষ্টিতে মান নির্দিষ্ট করা, বা পরিবেশ ভেরিয়েবল থেকে মান লোড করা।

কনফিগারেশন ফাইল

আপনি একটি google_ads_config.rb ফাইল নির্দিষ্ট করতে পারেন যাতে ক্লায়েন্টকে ইনস্ট্যান্টিয়েট করা হয়।

ইনস্ট্যান্টিয়েট করার সময় আপনি যদি কোন আর্গুমেন্ট ব্যবহার না করেন:

client = Google::Ads::GoogleAds::GoogleAdsClient.new

তারপর লাইব্রেরিটি GOOGLE_ADS_CONFIGURATION_FILE_PATH এনভায়রনমেন্ট ভেরিয়েবলে নির্দিষ্ট অবস্থানে দেখতে পাবে। যদি সেই ভেরিয়েবল সেট করা না থাকে, তাহলে লাইব্রেরি ফাইলটির জন্য আপনার HOME ডিরেক্টরিতে দেখবে।

বিকল্পভাবে, আপনি একটি পথ নির্দিষ্ট করতে পারেন:

client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")

যে ক্ষেত্রে ক্লায়েন্ট সেই ফাইলপথে ফাইলটি সন্ধান করবে।

এই ফাইলটি তৈরি করার সবচেয়ে সহজ উপায় হল GitHub রিপোজিটরি থেকে google_ads_config.rb কপি করা এবং আপনার রিফ্রেশ টোকেন, ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট অন্তর্ভুক্ত করার জন্য এটি পরিবর্তন করা।

গতিশীল কনফিগারেশন

লাইব্রেরি ইনস্ট্যান্ট করার সময়, বা তার পরেও আপনি গতিশীলভাবে কনফিগারেশন সেট আপ করতে পারেন:

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... more configuration
end

এমনকি আপনি ইনস্ট্যান্টেশনের পরে কনফিগারেশন পরিবর্তন করতে পারেন:

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... more configuration
end

কনফিগারেশন ক্ষেত্র

Config অবজেক্ট নিম্নলিখিত ক্ষেত্র সমর্থন করে।

সাধারণ ক্ষেত্র:

  • refresh_token : আপনার OAuth রিফ্রেশ টোকেন।
  • client_id : আপনার OAuth ক্লায়েন্ট আইডি।
  • client_secret : আপনার OAuth ক্লায়েন্ট সিক্রেট।
  • developer_token : API অ্যাক্সেস করার জন্য আপনার ডেভেলপার টোকেন।
  • login_customer_id : লগইন-কাস্টমার-আইডি ডকুমেন্টেশন দেখুন।

লগিং ক্ষেত্র। সম্পূর্ণ বিবরণের জন্য লগিং গাইড দেখুন।

  • log_level : ন্যূনতম লগ স্তরের বার্তা আপনি লগ করতে চান। উদাহরণ স্বরূপ, 'DEBUG' নির্দিষ্ট করা নিশ্চিত করবে যে আপনি সমস্ত লগ বার্তা দেখতে পাচ্ছেন, এবং 'INFO' নির্দিষ্ট করলে ডিবাগ বার্তাগুলি বাদ যাবে কিন্তু অন্য সমস্ত বার্তাগুলি দেখাবে৷
  • log_target : যেখানে আপনি লগ করতে চান, যেমন STDERR
  • logger : আপনার নিজস্ব কাস্টম লগার নির্দিষ্ট করুন। এটি নির্দিষ্ট করা log_level এবং log_target উভয়কেই ওভাররাইড করবে।

পরিবেশ পরিবর্তনশীল

আপনি পরিবেশ ভেরিয়েবল ব্যবহার করে ক্লায়েন্ট লাইব্রেরি কনফিগার করতে পারেন। এগুলি ডিফল্টরূপে লোড হয় না এবং লোড করার জন্য ক্লায়েন্টকে ইনস্ট্যান্টিয়েট করার পরে একটি অতিরিক্ত কলের প্রয়োজন হয়৷ সমস্ত ভাষা দ্বারা সমর্থিত পরিবেশ ভেরিয়েবলের সম্পূর্ণ তালিকা দেখুন।

আপনার Config পরিবেশের ভেরিয়েবল লোড করতে, load_environment_config কল করুন:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

প্রতিবার যখন এটি বলা হয়, পরিবেশ ভেরিয়েবলের বর্তমান অবস্থা Config এ ইতিমধ্যে উপস্থিত যেকোন কিছুকে ওভাররাইট করবে। এই পদ্ধতির সাহায্যে, আপনি উদাহরণস্বরূপ একটি ডিফল্ট কনফিগার করতে পারেন কিন্তু এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে নির্দিষ্ট মান ওভাররাইড করতে পারেন, অথবা আপনি সম্পূর্ণরূপে পরিবেশ ভেরিয়েবলের সাথে কনফিগার করতে পারেন।

সমস্ত লাইব্রেরি দ্বারা সমর্থিত পরিবেশ ভেরিয়েবল ছাড়াও, রুবি লাইব্রেরিতে দুটি অতিরিক্ত ভেরিয়েবল রয়েছে:

  • GOOGLE_ADS_RUBY_LOG_LEVEL : উপরে log_level হিসাবে।
  • GOOGLE_ADS_RUBY_HTTP_PROXY : একটি HTTP প্রক্সি নির্দিষ্ট করুন৷