پیکربندی بااستفاده از کلاس 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: Raise an exception instead of callingWarning#warnwhen deprecated library code is invoked (falseby default).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 را مشخص کنید.