پیکربندی

پیکربندی بااستفاده از کلاس Config مدیریت می‌شود. می‌توانید کارخواه را بااستفاده از فایل پیکربندی، مشخص کردن مقادیر به‌صورت پویا هنگام ایجاد، یا بار کردن مقادیر از متغیرهای محیطی پیکربندی کنید.

فایل پیکربندی

می‌توانید فایل google_ads_config.rb را مشخص کنید تا هنگام نمونه‌سازی کارخواه استفاده شود.

اگر هنگام نمونه‌سازی شیء GoogleAdsClient هیچ آرگومانی ارسال نکنید، کتابخانه فایل پیکرببندی را به ترتیب زیر جستجو می‌کند:

  1. مسیر مشخص‌شده در متغیر محیط GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. فایلی به‌نام 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 را مشخص کنید.