Konfigurasi

Library klien PHP Google Ads API menyediakan beberapa setelan konfigurasi yang dapat Anda gunakan untuk menyesuaikan perilaku library.

File konfigurasi

Anda dapat menyimpan sebagian besar setelan konfigurasi ini di Anda dapat menyimpan sebagian besar setelan konfigurasi ini di ini file dan menggunakannya saat membuat instance klien, misalnya, google_ads_php.ini.

Builder kredensial dan klien menyediakan metode fromFile untuk memuat setelan dari file tersebut:

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Jika tidak ada jalur konfigurasi yang diberikan sebagai argumen, metode fromFile akan memuat dari jalur konfigurasi default, yaitu:

  1. Nilai variabel lingkungan yang diberi nama GOOGLE_ADS_CONFIGURATION_FILE_PATH jika ditetapkan.
  2. Jika tidak, file google_ads_php.ini di direktori HOME Anda.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile()
    ->withOAuth2Credential($oAuth2Credential)
    ->build();

Konfigurasi dinamis

Anda dapat menetapkan setelan konfigurasi ini secara dinamis saat membuat instance klien.

$oAuth2Credential = (new OAuth2TokenBuilder())
    ->withClientId('INSERT_CLIENT_ID')
    // ...
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->build();

Variabel lingkungan konfigurasi

Anda dapat menetapkan beberapa setelan konfigurasi dari variabel lingkungan saat membuat instance klien (lihat daftar lengkap).

Builder kredensial dan klien menyediakan metode fromEnvironmentVariables untuk memuat setelan dari variabel lingkungan:

$oAuth2Credential = (new OAuth2TokenBuilder())
    // ...
    ->fromEnvironmentVariables()
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->withOAuth2Credential($oAuth2Credential)
    // ...
    ->fromEnvironmentVariables()
    ->build();

Kolom konfigurasi

Setelan konfigurasi mendukung beberapa kolom yang disusun dalam kategori.

  1. Kolom yang digunakan oleh OAuth2TokenBuilder:
    • Mode Aplikasi
      • [OAUTH2] clientId: ID klien OAuth2 Anda.
      • [OAUTH2] clientSecret: Rahasia klien OAuth2 Anda.
      • [OAUTH2] refreshToken: Token refresh OAuth2 Anda.
    • Mode Akun Layanan
      • [OAUTH2] jsonKeyFilePath: Jalur kunci JSON.
      • [OAUTH2] scopes: Cakupan.
      • [OAUTH2] impersonatedEmail: Email yang akan di-impersonate.
  2. Kolom yang digunakan oleh GoogleAdsClientBuilder:
    • [GOOGLE_ADS] loginCustomerId: ID pelanggan yang diberi otorisasi untuk digunakan dalam permintaan.
    • [GOOGLE_ADS] linkedCustomerId: ID pelanggan tertaut.
    • [LOGGING] logFilePath: Jalur untuk logging.
    • [LOGGING] logLevel: Tingkat logging.
    • [CONNECTION] proxy: URL server proxy yang digunakan untuk konektivitas internet.
    • [CONNECTION] transport: Transport.
    • [CONNECTION] grpcChannelIsSecure: Apakah saluran gRPC aman atau tidak.
    • [CONNECTION] grpcChannelCredential: Kredensial saluran gRPC.
    • [CONNECTION] unaryMiddlewares: Middleware unary.
    • [CONNECTION] streamingMiddlewares: Middleware streaming.
    • [CONNECTION] grpcInterceptors: Interceptor gRPC.

Validasi konfigurasi

Setelan konfigurasi diperiksa saat membuat instance klien dan pengecualian akan ditampilkan jika tidak valid. Berikut aturannya:

  1. Kolom [OAUTH2] tidak boleh ditetapkan untuk Mode Aplikasi dan Mode Akun Layanan secara bersamaan.
  2. [OAUTH2] jsonKeyFilePath dan [OAUTH2] scopes harus ditetapkan saat menggunakan Mode Akun Layanan.
  3. [OAUTH2] clientId, [OAUTH2] clientSecret, dan [OAUTH2] refreshToken harus ditetapkan saat menggunakan Mode Aplikasi.
  4. Jika ditetapkan, [GOOGLE_ADS] loginCustomerId dan [GOOGLE_ADS] linkedCustomerId harus berupa angka positif.
  5. Jika ditetapkan, [CONNECTION] proxy harus berupa URL yang valid (lihat filter FILTER_VALIDATE_URL).
  6. Jika ditetapkan, [LOGGING] logLevel harus berupa tingkat log PSR yang valid dalam huruf kapital, seperti INFO.
  7. Jika ditetapkan, [CONNECTION] transport harus berupa grpc atau rest.
  8. Jika [CONNECTION] transport ditetapkan ke grpc, transport gRPC harus didukung oleh lingkungan (lihat panduan transport).
  9. [CONNECTION] grpcChannelIsSecure harus true jika [CONNECTION] transport tidak ditetapkan ke grpc.
  10. [CONNECTION] grpcChannelCredential hanya dapat ditetapkan jika [CONNECTION] transport ditetapkan ke grpc.
  11. [CONNECTION] grpcChannelCredential hanya dapat ditetapkan jika [CONNECTION] grpcChannelIsSecure adalah true.