پیکربندی

پیکربندی بااستفاده از کلاس 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: روی 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 calling Warning#warn when deprecated library code is invoked (false by 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 را مشخص کنید.