Config ক্লাস ব্যবহার করে কনফিগারেশন ম্যানেজ করা হয়। আপনি কনফিগারেশন ফাইল ব্যবহার করে, তৈরি করার সময় ডায়নামিক ভ্যালু নির্দিষ্ট করে অথবা
এনভায়রনমেন্ট ভেরিয়েবল থেকে ভ্যালু লোড করে ক্লায়েন্ট কনফিগার করতে পারেন।
কনফিগারেশন ফাইল
ক্লায়েন্ট ইনস্ট্যান্টিয়েট করার সময় আপনি ব্যবহার করার জন্য একটি google_ads_config.rb ফাইল নির্দিষ্ট করতে পারেন।
GoogleAdsClient অবজেক্ট ইনস্ট্যান্টিয়েট করার সময় আপনি কোনও আর্গুমেন্ট পাস না করলে, লাইব্রেরি নিম্নলিখিত ক্রমে কনফিগারেশন ফাইল সার্চ করে:
GOOGLE_ADS_CONFIGURATION_FILE_PATHএনভায়রনমেন্ট ভেরিয়েবলে নির্দিষ্ট করা পাথ।- আপনার
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-googleadsv36.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 নির্দিষ্ট করুন।