پیکربندی بااستفاده از کلاس 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: برای اصالتسنجی بااستفاده از Application Default Credentials (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS)، رویtrueتنظیم کنید. در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: نشانی یکتای منبع اختیاری پروکسی اچتیتیپی یا اچتیتیپیاس (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 را مشخص کنید.