التهيئة

تتم إدارة الإعدادات باستخدام فئة 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). هذه الميزة متاحة في الإصدار 36.1.0 من 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 في الإصدار 37.0.0 وأعيدت تسميته إلى ads_assistant في الإصدار 39.0.0)
  • http_proxy: عنوان URI اختياري لخادم وكيل 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: حدِّد عنوان URL لخادم وكيل HTTP.