Yapılandırma

Google Ads API PHP istemci kitaplığı, kitaplık davranışını özelleştirmek için kullanabileceğiniz çeşitli yapılandırma ayarları sunar.

Yapılandırma dosyası

Bu yapılandırma ayarlarının çoğunu ini dosyalarında depolayabilir ve istemcileri oluştururken (ör. google_ads_php.ini) kullanabilirsiniz.

Hem kimlik bilgisi hem de istemci oluşturucular, bu tür dosyalardan ayarları yüklemek için fromFile yöntemleri sağlar:

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

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

Bağımsız değişken olarak yapılandırma yolu sağlanmamışsa fromFile yöntemleri, varsayılan yapılandırma yolundan yüklenir. Bu yol şudur:

  1. Ayarlanmışsa GOOGLE_ADS_CONFIGURATION_FILE_PATH adlı ortam değişkeninin değeri.
  2. Aksi takdirde, HOME dizininizdeki google_ads_php.ini dosyası.
$oAuth2Credential = (new OAuth2TokenBuilder())
    ->fromFile()
    ->build();

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

Dinamik yapılandırma

Bu yapılandırma ayarlarını, istemcileri oluştururken dinamik olarak ayarlayabilirsiniz.

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

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

Yapılandırma ortamı değişkenleri

İstemcileri oluştururken yapılandırma ayarlarının bazılarını ortam değişkenlerinden ayarlayabilirsiniz (kapsamlı listeye bakın).

Hem kimlik bilgisi hem de istemci oluşturucular, ortam değişkenlerinden ayar yüklemek için fromEnvironmentVariables yöntemleri sağlar:

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

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

Yapılandırma alanları

Yapılandırma ayarları, kategoriler halinde düzenlenmiş çeşitli alanları destekler.

  1. OAuth2TokenBuilder tarafından kullanılan alanlar:
    • Uygulama Modu
      • [OAUTH2] clientId: OAuth2 istemci kimliğiniz.
      • [OAUTH2] clientSecret: OAuth2 istemci gizli anahtarınız.
      • [OAUTH2] refreshToken: OAuth2 yenileme jetonunuz.
    • Hizmet Hesabı Modu
      • [OAUTH2] jsonKeyFilePath: JSON anahtarı dosya yolu.
      • [OAUTH2] scopes: Kapsamlar.
      • [OAUTH2] impersonatedEmail: Kimliğine bürünülecek e-posta adresi.
  2. GoogleAdsClientBuilder tarafından kullanılan alanlar:
    • [GOOGLE_ADS] developerToken: API'ye erişmek için geliştirici jetonunuz.
    • [GOOGLE_ADS] loginCustomerId: İsteğin içinde kullanılacak yetkili müşterinin kimliği.
    • [GOOGLE_ADS] linkedCustomerId: Bağlı müşteri kimliği.
    • [LOGGING] logFilePath: Günlüğe kaydetme için dosya yolu.
    • [LOGGING] logLevel: Günlük kaydı düzeyi.
    • [CONNECTION] proxy: İnternet bağlantısı için kullanılan proxy sunucu URL'si.
    • [CONNECTION] transport: Ulaşım
    • [CONNECTION] grpcChannelIsSecure: gRPC kanalının güvenli olup olmadığı.
    • [CONNECTION] grpcChannelCredential: gRPC kanalı kimlik bilgileri.
    • [CONNECTION] unaryMiddlewares: Tekli ara yazılımlar.
    • [CONNECTION] streamingMiddlewares: Akış ara yazılımları.
    • [CONNECTION] grpcInterceptors: gRPC araya girenleri.

Yapılandırma doğrulama

Yapılandırma ayarları, istemciler oluşturulurken kontrol edilir ve geçersiz olduğunda istisnalar oluşturulur. Kurallar şunlardır:

  1. [OAUTH2] alanları, hem uygulama modu hem de hizmet hesabı modu için aynı anda ayarlanmamalıdır.
  2. Hizmet hesabı modu kullanılırken [OAUTH2] jsonKeyFilePath ve [OAUTH2] scopes ayarlanmalıdır.
  3. Uygulama Modu kullanılırken [OAUTH2] clientId, [OAUTH2] clientSecret ve [OAUTH2] refreshToken ayarlanmalıdır.
  4. [GOOGLE_ADS] developerToken her zaman ayarlanmalıdır.
  5. Ayarlanırsa [GOOGLE_ADS] loginCustomerId ve [GOOGLE_ADS] linkedCustomerId pozitif sayılar olmalıdır.
  6. Ayarlanırsa [CONNECTION] proxy geçerli bir URL olmalıdır (bkz. filtre FILTER_VALIDATE_URL).
  7. Ayarlanırsa [LOGGING] logLevel, büyük harflerle yazılmış geçerli bir PSR günlük düzeyi olmalıdır (ör. INFO).
  8. Ayarlanırsa [CONNECTION] transport, grpc veya rest olmalıdır.
  9. [CONNECTION] transport, grpc olarak ayarlanmışsa gRPC aktarımı ortam tarafından desteklenmelidir (transport kılavuzuna bakın).
  10. [CONNECTION] transport, grpc olarak ayarlanmadığında [CONNECTION] grpcChannelIsSecure, true olmalıdır.
  11. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] transport, grpc olarak ayarlandığında belirlenebilir.
  12. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] grpcChannelIsSecure, true olduğunda ayarlanabilir.