تتم إدارة الإعدادات باستخدام فئة 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: اضبط هذه القيمة على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.