پیکربندی بااستفاده از کلاس Config مدیریت میشود. میتوانید کارخواه را بااستفاده از فایل پیکربندی، مشخص کردن مقادیر بهصورت پویا هنگام ایجاد، یا بار کردن مقادیر از متغیرهای محیطی پیکربندی کنید.
فایل پیکربندی
میتوانید فایل google_ads_config.rb را برای استفاده هنگام نمونهسازی کارخواه مشخص کنید.
اگر هنگام نمونهسازی شیء GoogleAdsClient هیچ آرگومانی را ارسال نکنید،
کتابخانه فایل پیکربندی را بهترتیب زیر جستجو میکند:
- مسیر مشخصشده در متغیر محیطی
GOOGLE_ADS_CONFIGURATION_FILE_PATH. - فایلی بهنام
google_ads_config.rbدر فهرست راهنمایHOMEشما (~/google_ads_config.rb).
یا میتوانید هنگام نمونهسازی شیء GoogleAdsClient، یک مسیر صریح را ارسال کنید:
client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')
برای تولید این فایل، google_ads_config.rb را از مخزن GitHub کپی کنید و آن را اصلاح کنید تا شامل ژتون بازآوری، شناسه کارخواه، و رمز کارخواه شما باشد.
پیکربندی پویا
میتوانید پیکربندی را بهصورت پویا هنگام نمونهسازی کتابخانه راهاندازی کنید:
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نسخه ۳۶.۱.۰ و جدیدتر پشتیبانی میشود.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» (GOOGLE_ADS_ASSISTANT؛ در نسخه ۳۷.۰.۰ بهعنوانgaadaاضافه شد و در نسخه ۳۹.۰.۰ بهads_assistantتغییر نام داد).http_proxy: شناسه منبع یکسان پروکسی HTTP یا HTTPS اختیاری (GOOGLE_ADS_RUBY_HTTP_PROXY).api_endpoint: لغو اختیاری نقطه پایانی میانای برنامهسازی کاربردی (GOOGLE_ADS_ENDPOINT).treat_deprecation_warnings_as_errors: بهجای فراخوانیWarning#warn، وقتی کد کتابخانه منسوخشده فراخوانده میشود، استثنایی ایجاد کنید (بهطور پیشفرضfalse).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.