Cấu hình

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:

  1. Đường dẫn được chỉ định trong biến môi trường GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Tệp có tên google_ads_config.rb trong thư mục HOME (~/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à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: 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ạ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: 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ọ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 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 (false theo 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ừ DEBUG thô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ư 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. 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ới log_level như đã giải thích trước đó.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: Chỉ định URL proxy HTTP.