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 giá trị một cách linh động khi tạo hoặc tải giá trị từ các 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 tạo thực thể cho đối tượng GoogleAdsClient, thì thư viện sẽ tì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ụcHOME(~/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ể cho đố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 của ứ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 tạo thực thể cho 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 tạo thực thể (thao tác này sẽ ghi đè các chế độ cài đặt được tải trong quá trình khởi chạy):
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 (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ó tính năng 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ý API Google Ads (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: Điểm cuối API không bắt buộc (GOOGLE_ADS_ENDPOINT).treat_deprecation_warnings_as_errors: Đưa 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 cho mỗi lệnh gọi thay vì một lần cho mỗi trang web gọi (falsetheo mặc định).
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: Cấp nhật ký tối thiểu của thông báo 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ả cá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 giá trị 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. Các thư viện này không được tải theo mặc định và cần có lệnh gọi rõ ràng sau khi tạo thực thể cho ứng dụng để tải. Xem danh sách đầy đủ các biến môi trường 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 lần 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ì tệp cấu hình mặc định và ghi đè các giá trị cụ thể bằng biến môi trường hoặc định cấu hình ứng dụng hoàn toàn bằng 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ợ hai 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 một URL proxy HTTP.