Configuração

A configuração é feita usando uma classe Config. É possível acessar essa classe de várias maneiras, como escrever um arquivo de configuração, especificar valores na criação ou carregar valores de variáveis de ambiente.

Arquivo de configuração

É possível especificar um google_ads_config.rb arquivo para usar ao instanciar o cliente.

Se você não usar argumentos ao instanciar um objeto GoogleAdsClient, a biblioteca vai procurar no local especificado na variável de ambiente GOOGLE_ADS_CONFIGURATION_FILE_PATH. Se essa variável não estiver definida, a biblioteca vai procurar o arquivo no diretório HOME.

Como alternativa, você pode especificar um caminho ao instanciar o objeto GoogleAdsClient, como mostrado abaixo. Nesse caso, o cliente vai procurar o arquivo nesse caminho.

  client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")

A maneira mais fácil de gerar esse arquivo é copiar o google_ads_config.rb do repositório do GitHub e modificá-lo para incluir seu token de atualização, ID do cliente e chave secreta do cliente.

Configuração dinâmica

É possível configurar dinamicamente ao instanciar a biblioteca ou até mesmo depois:

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
    config.client_id = 'INSERT_CLIENT_ID_HERE' # ... more configuration
end

Você pode até modificar a configuração após a instanciação:

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'

# ... more configuration
end

Campos de configuração

O objeto Config oferece suporte aos seguintes campos.

Campos gerais:

  • refresh_token: seu token de atualização OAuth.
  • client_id: seu ID do cliente OAuth.
  • client_secret: sua chave secreta do cliente OAuth.
  • login_customer_id: consulte a documentação de login-customer-id.

Campos de registro. Consulte o guia de registro para mais detalhes.

  • log_level: as mensagens de nível mínimo de registro que você quer registrar. Por exemplo, especificar 'DEBUG' garante que você veja todas as mensagens de registro, e especificar 'INFO' exclui as mensagens de depuração, mas mostra todas as outras.
  • log_target: onde você quer registrar, como STDERR.
  • logger: especifique seu próprio logger personalizado. A especificação substitui log_level e log_target.

Variáveis de ambiente

É possível configurar a biblioteca de cliente usando variáveis de ambiente. Elas não são carregadas por padrão e exigem uma chamada extra após a instanciação do cliente para serem carregadas. Consulte a lista completa de variáveis de ambiente com suporte em todos os idiomas.

Para carregar as variáveis de ambiente na sua Config, chame load_environment_config:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

Cada vez que isso é chamado, o estado atual das variáveis de ambiente substitui tudo o que já está presente na Config. Com esse mecanismo, você pode, por exemplo, ter uma configuração padrão, mas substituir valores específicos usando variáveis de ambiente, ou configurar totalmente com variáveis de ambiente.

Além das variáveis de ambiente com suporte em todas as bibliotecas, a biblioteca Ruby tem duas variáveis extras:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: log_level, conforme explicado anteriormente.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: especifique um proxy HTTP.