Cấu hình

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:

  1. Đường dẫn được chỉ định trong biến môi trường GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Một tệp có tên google_ads_config.rb trong thư mục HOME củ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ành true để 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ợ trong google-ads-googleads phiê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ặc Hash, hoặc GRPC::Core::Channel/GRPC::Core::ChannelCredentials. Ghi đè client_id, client_secret, refresh_token và 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ạng gaada trong phiên bản 37.0.0 và đổi tên thành ads_assistant trong 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ọi Warning#warn khi mã thư viện không dùng nữa được gọi (false theo 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 (false theo 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áo DEBUG 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ư STDERR hoặ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_level và 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ới log_level như đã giải thích trước đó.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: Chỉ định URL của proxy HTTP.