پیکربندی

پیکربندی بااستفاده از کلاس 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: به‌جای فراخوانی 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.