কনফিগারেশন

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

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

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

GoogleAdsClient অবজেক্ট ইনস্ট্যান্টিয়েট করার সময় আপনি কোনও আর্গুমেন্ট পাস না করলে, লাইব্রেরি নিম্নলিখিত ক্রমে কনফিগারেশন ফাইল সার্চ করে:

  1. GOOGLE_ADS_CONFIGURATION_FILE_PATH এনভায়রনমেন্ট ভেরিয়েবলে উল্লেখ করা পাথ।
  2. আপনার HOME ডিরেক্টরিতে google_ads_config.rb নামের একটি ফাইল (~/google_ads_config.rb)।

বিকল্প হিসেবে, GoogleAdsClient অবজেক্ট ইনস্ট্যান্টিয়েট করার সময় আপনি একটি এক্সপ্লিসিট পাথ পাস করতে পারেন:

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'
  # ... additional configuration
end

এছাড়াও, আপনি ইনস্ট্যান্টিয়েশনের পরে কনফিগারেশন পরিবর্তন করতে পারবেন (যা ইনিশিয়ালাইজেশনের সময় লোড করা সেটিংসকে ওভাররাইড করে):

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

কনফিগারেশন ফিল্ড

Config অবজেক্টে নিম্নলিখিত ফিল্ডগুলি কাজ করে।

সাধারণ ফিল্ড:

  • refresh_token: আপনার OAuth রিফ্রেশ টোকেন (GOOGLE_ADS_REFRESH_TOKEN)।
  • client_id: আপনার OAuth ক্লায়েন্ট আইডি (GOOGLE_ADS_CLIENT_ID)।
  • client_secret: আপনার OAuth ক্লায়েন্ট সিক্রেট (GOOGLE_ADS_CLIENT_SECRET)।
  • keyfile: পরিষেবা অ্যাকাউন্ট JSON কী ফাইলের পাথ (GOOGLE_ADS_JSON_KEY_FILE_PATH)।
  • impersonate: ডোমেন-ওয়াইড ডেলিগেশন (GOOGLE_ADS_IMPERSONATED_EMAIL) সহ পরিষেবা অ্যাকাউন্ট ব্যবহার করার সময় ছদ্মবেশী করার জন্য ইমেল আইডি।
  • use_application_default_credentials: true-এ সেট করুন যাতে অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS) ব্যবহার করে যাচাই করা যায়। google-ads-googleads v36.1.0 এবং তার পরবর্তী ভার্সনে কাজ করে।
  • authentication: কাস্টম যাচাইকরণ অবজেক্ট, যেমন Proc (updater_proc), কীফাইল পাথ বা Hash, অথবা GRPC::Core::Channel / GRPC::Core::ChannelCredentials. client_id, client_secret, refresh_token এবং keyfile ওভাররাইড করে।
  • login_customer_id: login-customer-id ডকুমেন্টেশন (GOOGLE_ADS_LOGIN_CUSTOMER_ID) দেখুন।
  • linked_customer_id: লিঙ্ক করা কাস্টমার আইডি (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant: Google Ads API Assistant-এর জন্য ঐচ্ছিক শনাক্তকারী হেডার (GOOGLE_ADS_ASSISTANT; v37.0.0-এ gaada হিসেবে যোগ করা হয়েছে এবং v39.0.0-এ ads_assistant হিসেবে নাম পরিবর্তন করা হয়েছে)।
  • http_proxy: ঐচ্ছিক HTTP বা HTTPS প্রক্সি URI (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • api_endpoint: ঐচ্ছিক API এন্ডপয়েন্ট ওভাররাইড (GOOGLE_ADS_ENDPOINT)।
  • treat_deprecation_warnings_as_errors: বন্ধ হয়ে যাওয়া লাইব্রেরি কোড কল করা হলে (ডিফল্ট হিসেবে false) Warning#warn কল করার পরিবর্তে ব্যতিক্রম উত্থাপন করুন।
  • warn_on_all_deprecations: কল সাইট প্রতি একবারের পরিবর্তে (ডিফল্ট হিসেবে false) প্রতিটি কলে একটি অবচয় সতর্কতা জারি করুন।

লগ ফিল্ড (সম্পূর্ণ বিবরণের জন্য লগিং গাইড দেখুন):

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

এনভায়রনমেন্ট ভেরিয়েবল

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

আপনার Config-এ এনভায়রনমেন্ট ভেরিয়েবল লোড করতে, load_environment_config কল করুন:

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

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

স্ট্যান্ডার্ড এনভায়রনমেন্ট ভেরিয়েবল ছাড়াও, Ruby লাইব্রেরিতে আরও দুটি ভেরিয়েবল কাজ করে:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: আগে যেমন ব্যাখ্যা করা হয়েছে, log_level-এর সমতুল্য।
  • GOOGLE_ADS_RUBY_HTTP_PROXY: HTTP প্রক্সি URL উল্লেখ করুন।