پیکربندی با استفاده از کلاس Config انجام میشود. میتوانید به روشهای مختلفی به این کلاس دسترسی داشته باشید، مانند نوشتن یک فایل پیکربندی، تعیین مقادیر در هنگام ایجاد یا بارگذاری مقادیر از متغیرهای محیطی.
فایل پیکربندی
میتوانید هنگام نمونهسازی کلاینت، یک فایل google_ads_config.rb را برای استفاده مشخص کنید.
اگر هنگام نمونهسازی یک شیء GoogleAdsClient از هیچ آرگومانی استفاده نکنید، کتابخانه در مکانی که در متغیر محیطی GOOGLE_ADS_CONFIGURATION_FILE_PATH مشخص شده است، جستجو خواهد کرد. اگر آن متغیر تنظیم نشده باشد، کتابخانه در دایرکتوری HOME شما به دنبال فایل خواهد گشت.
به طور جایگزین، میتوانید هنگام نمونهسازی شیء GoogleAdsClient به صورت زیر، یک مسیر مشخص کنید، که در این صورت کلاینت در آن مسیر به دنبال فایل میگردد.
client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")
سادهترین راه برای تولید این فایل، کپی کردن 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 شما. -
login_customer_id: به مستندات login-customer-id مراجعه کنید.
فیلدهای ثبت وقایع. برای جزئیات کامل به راهنمای ثبت وقایع مراجعه کنید.
-
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
هر بار که این فراخوانی میشود، وضعیت فعلی متغیرهای محیطی هر چیزی را که از قبل در Config وجود دارد، بازنویسی میکند. با این مکانیسم، به عنوان مثال میتوانید یک پیکربندی پیشفرض داشته باشید اما مقادیر خاصی را با استفاده از متغیرهای محیطی نادیده بگیرید، یا میتوانید به طور کامل با متغیرهای محیطی پیکربندی کنید.
علاوه بر متغیرهای محیطی که توسط همه کتابخانهها پشتیبانی میشوند، کتابخانه روبی دو متغیر اضافی نیز دارد:
-
GOOGLE_ADS_RUBY_LOG_LEVEL: همانطور که قبلاً توضیح داده شد،log_level. -
GOOGLE_ADS_RUBY_HTTP_PROXY: یک پروکسی HTTP مشخص کنید.