Cấu hình được quản lý bằng lớp Config. Bạn có thể định cấu hình ứng dụng bằng cách sử dụng tệp cấu hình, chỉ định các giá trị một cách linh động khi tạo hoặc tải các giá trị từ biến môi trường.
Tệp cấu hình
Bạn có thể chỉ định một tệp google_ads_config.rb để sử dụng khi tạo thực thể cho ứng dụng.
Nếu bạn không truyền đối số nào khi khởi tạo một đối tượng GoogleAdsClient, thì thư viện sẽ tìm kiếm tệp cấu hình theo thứ tự sau:
- Đường dẫn được chỉ định trong biến môi trường
GOOGLE_ADS_CONFIGURATION_FILE_PATH. - Một tệp có tên
google_ads_config.rbtrong thư mụcHOMEcủa bạn (~/google_ads_config.rb).
Ngoài ra, bạn có thể truyền một đường dẫn rõ ràng khi tạo thực thể đối tượng GoogleAdsClient:
client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')
Để tạo tệp này, hãy sao chép google_ads_config.rb từ kho lưu trữ GitHub rồi sửa đổi để thêm mã làm mới, mã ứng dụng khách và khoá bí mật ứng dụng khách.
Cấu hình động
Bạn có thể thiết lập cấu hình một cách linh động khi khởi tạo thư viện:
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
# ... additional configuration
end
Bạn cũng có thể sửa đổi cấu hình sau khi khởi tạo (thao tác này sẽ ghi đè các chế độ cài đặt được tải trong quá trình khởi tạo):
client.configure do |config|
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
# ... additional configuration
end
Trường cấu hình
Đối tượng Config hỗ trợ các trường sau.
Trường chung:
refresh_token: Mã làm mới OAuth của bạn (GOOGLE_ADS_REFRESH_TOKEN).client_id: Mã ứng dụng OAuth của bạn (GOOGLE_ADS_CLIENT_ID).client_secret: Khoá bí mật của ứng dụng OAuth (GOOGLE_ADS_CLIENT_SECRET).keyfile: Đường dẫn đến tệp khoá JSON của tài khoản dịch vụ (GOOGLE_ADS_JSON_KEY_FILE_PATH).impersonate: Địa chỉ email cần mạo danh khi sử dụng tài khoản dịch vụ có uỷ quyền trên toàn miền (GOOGLE_ADS_IMPERSONATED_EMAIL).use_application_default_credentials: Đặt thànhtrueđể xác thực bằng Thông tin xác thực mặc định của ứng dụng (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Được hỗ trợ tronggoogle-ads-googleadsphiên bản 36.1.0 trở lên.authentication: Đối tượng xác thực tuỳ chỉnh, chẳng hạn nhưProc(updater_proc), đường dẫn tệp khoá hoặcHash, hoặcGRPC::Core::Channel/GRPC::Core::ChannelCredentials. Ghi đèclient_id,client_secret,refresh_tokenvàkeyfile.login_customer_id: Xem tài liệu về login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID).linked_customer_id: Mã khách hàng được liên kết (GOOGLE_ADS_LINKED_CUSTOMER_ID).ads_assistant: Giá trị nhận dạng không bắt buộc cho tiêu đề Trợ lý Google Ads API (GOOGLE_ADS_ASSISTANT; được thêm dưới dạnggaadatrong phiên bản 37.0.0 và đổi tên thànhads_assistanttrong phiên bản 39.0.0).http_proxy: URI proxy HTTP hoặc HTTPS không bắt buộc (GOOGLE_ADS_RUBY_HTTP_PROXY).api_endpoint: Tuỳ chọn ghi đè điểm cuối API (GOOGLE_ADS_ENDPOINT).treat_deprecation_warnings_as_errors: Gây ra một ngoại lệ thay vì gọiWarning#warnkhi mã thư viện không dùng nữa được gọi (falsetheo mặc định).warn_on_all_deprecations: Đưa ra cảnh báo ngừng sử dụng trên mọi lệnh gọi thay vì một lần cho mỗi vị trí gọi (falsetheo mặc định).
Các trường nhật ký (xem hướng dẫn ghi nhật ký để biết thông tin chi tiết đầy đủ):
log_level: Thông điệp cấp nhật ký tối thiểu mà bạn muốn ghi nhật ký. Ví dụ: việc chỉ định'DEBUG'sẽ ghi nhật ký tất cả thông báo và việc chỉ định'INFO'sẽ loại trừ thông báoDEBUGtrong khi hiển thị tất cả thông báo khác.log_target: Nơi bạn muốn ghi nhật ký, chẳng hạn nhưSTDERRhoặc một đường dẫn.logger: Chỉ định trình ghi nhật ký tuỳ chỉnh của riêng bạn. Việc chỉ định này sẽ ghi đè cảlog_levelvàlog_target.
Biến môi trường
Bạn có thể định cấu hình thư viện ứng dụng bằng các biến môi trường. Chúng không được tải theo mặc định và yêu cầu một lệnh gọi rõ ràng sau khi khởi tạo ứng dụng để tải. Xem danh sách đầy đủ các biến môi trường tiêu chuẩn.
Để tải các biến môi trường vào Config, hãy gọi load_environment_config:
client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config
Mỗi khi load_environment_config được gọi, mọi biến môi trường đã xác định sẽ ghi đè các giá trị tương ứng đã có trong Config (các biến môi trường chưa đặt sẽ giữ nguyên các giá trị cấu hình hiện có). Với cơ chế này, bạn có thể duy trì một tệp cấu hình mặc định và ghi đè các giá trị cụ thể bằng cách sử dụng các biến môi trường hoặc định cấu hình hoàn toàn máy khách bằng các biến môi trường.
Ngoài các biến môi trường tiêu chuẩn, thư viện Ruby còn hỗ trợ 2 biến bổ sung:
GOOGLE_ADS_RUBY_LOG_LEVEL: Tương đương vớilog_levelnhư đã giải thích trước đó.GOOGLE_ADS_RUBY_HTTP_PROXY: Chỉ định URL của proxy HTTP.