Bạn có thể quản lý cấu hình 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 tệp google_ads_config.rb để sử dụng khi
tạo thực thể của ứng dụng.
Nếu bạn không truyền đối số nào khi tạo thực thể của đối tượng GoogleAdsClient, 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. - 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ể của đố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 để đưa mã làm mới, mã ứng dụng khách và khoá bí mật của ứng dụng khách vào.
Cấu hình linh độ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ể của 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 (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 để mạo danh khi sử dụng tài khoản dịch vụ có quyền 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: Mã 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: Ghi đè đ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 không dùng nữa trên 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: Mức nhật ký tối thiểu mà bạn muốn ghi lại. Ví dụ: khi chỉ định'DEBUG'hệ thống sẽ ghi lại tất cả thông báo và khi chỉ định'INFO'hệ thống sẽ loại trừDEBUGthông báo trong 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. Theo mặc định, các biến này không được tải và yêu cầu một lệnh gọi rõ ràng sau khi tạo thực thể của ứ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 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 các biến môi trường hoặc định cấu hình hoàn toàn ứng dụng 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 proxy HTTP.