Konfigurasi

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

File konfigurasi

Anda dapat menyimpan sebagian besar pengaturan konfigurasi ini di ini {i>file<i} dan menggunakannya saat membuat {i>instance<i} klien, misalnya, google_ads_php.ini.

Baik builder kredensial dan klien menyediakan metode fromFile untuk dimuat 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 file konfigurasi yang disediakan sebagai argumen, fromFile yang dimuat dari jalur file konfigurasi default, yaitu:

  1. Nilai variabel lingkungan bernama 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)
    ->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
    // ...
    ->build();

Variabel lingkungan konfigurasi

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

Baik pembuat kredensial maupun klien memberikan fromEnvironmentVariables metode 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 diatur dalam kategori.

  1. Kolom yang digunakan oleh OAuth2TokenBuilder:
    • Mode Aplikasi
      • [OAUTH2] clientId: Client ID OAuth2 Anda.
      • [OAUTH2] clientSecret: Rahasia klien OAuth2 Anda.
      • [OAUTH2] refreshToken: Token refresh OAuth2 Anda.
    • Mode Akun Layanan
      • [OAUTH2] jsonKeyFilePath: Jalur file kunci Json.
      • [OAUTH2] scopes: Cakupan.
      • [OAUTH2] impersonatedEmail: Email yang akan ditiru.
  2. Kolom yang digunakan oleh GoogleAdsClientBuilder:
    • [GOOGLE_ADS] developerToken: Token developer Anda untuk mengakses API.
    • [GOOGLE_ADS] loginCustomerId: ID otorisasi untuk digunakan dalam permintaan.
    • [GOOGLE_ADS] linkedCustomerId: ID pelanggan tertaut.
    • [LOGGING] logFilePath: Jalur file untuk logging.
    • [LOGGING] logLevel: Level logging.
    • [CONNECTION] proxy: URL server proxy yang digunakan untuk konektivitas internet.
    • [CONNECTION] transport: Transpor.
    • [CONNECTION] grpcChannelIsSecure: Apakah saluran gRPC aman atau tidak.
    • [CONNECTION] grpcChannelCredential: Kredensial saluran gRPC.
    • [CONNECTION] unaryMiddlewares: Middleware unary.
    • [CONNECTION] streamingMiddlewares: Middleware streaming.
    • [CONNECTION] grpcInterceptors: Intersepsi gRPC.
  3. [GAPIC] useGapicV2Source: Apakah akan menggunakan sumber GAPIC v2 kode saat membuat klien layanan.

Validasi konfigurasi

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

  1. Kolom [OAUTH2] tidak boleh ditetapkan untuk Mode Aplikasi dan 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 diatur saat menggunakan Mode Aplikasi.
  4. [GOOGLE_ADS] developerToken harus selalu ditetapkan.
  5. Jika ditetapkan, [GOOGLE_ADS] loginCustomerId dan [GOOGLE_ADS] linkedCustomerId harus berupa angka positif.
  6. Jika ditetapkan, [CONNECTION] proxy harus berupa URL yang valid (lihat filter FILTER_VALIDATE_URL).
  7. Jika disetel, [LOGGING] logLevel harus berupa log PSP yang valid level di huruf besar, seperti INFO.
  8. Jika ditetapkan, [CONNECTION] transport harus grpc atau rest.
  9. Jika [CONNECTION] transport disetel ke grpc, transpor gRPC harus didukung oleh lingkungan (lihat panduan transportasi).
  10. [CONNECTION] grpcChannelIsSecure harus true jika [CONNECTION] transport tidak ditetapkan ke grpc.
  11. [CONNECTION] grpcChannelCredential hanya dapat disetel jika [CONNECTION] transport disetel ke grpc.
  12. [CONNECTION] grpcChannelCredential hanya dapat disetel jika [CONNECTION] grpcChannelIsSecure adalah true.