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ı sağlar.

Yapılandırma dosyası

Bu yapılandırma ayarlarının çoğunu ini dosyalarında saklayabilir ve istemcileri örneklendirirken (ö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 sağlanan bir yapılandırma yolu yoksa fromFile yöntemleri, şu varsayılan yapılandırma yolundan yüklenir:

  1. Ayarlanırsa 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

İstemci örnekleri oluştururken bu yapılandırma ayarlarını 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 örneklendirirken yapılandırma ayarlarından bazılarını ortam değişkenlerinden ayarlayabilirsiniz (tam listeye bakın).

Hem kimlik bilgisi hem de istemci oluşturucular, ayarları ortam değişkenlerinden yüklemek için fromEnvironmentVariablesyö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 sırrı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ünmek için kullanılacak 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: İstekte 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 sunucusu URL'si.
    • [CONNECTION] transport: Taşıma.
    • [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ış orta katmanları.
    • [CONNECTION] grpcInterceptors: gRPC müdahalecileri.

Yapılandırma doğrulaması

İstemciler oluşturulurken yapılandırma ayarları kontrol edilir ve geçersiz olduğunda istisnalar atılır. 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. [OAUTH2] clientId, [OAUTH2] clientSecret ve [OAUTH2] refreshToken, Uygulama Modu kullanılırken ayarlanmalıdır.
  4. [GOOGLE_ADS] developerToken her zaman ayarlanmalıdır.
  5. Ayarlanırsa [GOOGLE_ADS] loginCustomerId ve [GOOGLE_ADS] linkedCustomerId pozitif sayı olmalıdır.
  6. Ayarlanmışsa [CONNECTION] proxy geçerli bir URL olmalıdır (FILTER_VALIDATE_URL filtresine bakın).
  7. Ayarlanırsa [LOGGING] logLevel, INFO gibi büyük harflerle yazılmış geçerli bir PSR günlük düzeyi olmalıdır.
  8. Ayarlanmışsa [CONNECTION] transport, grpc veya rest olmalıdır.
  9. [CONNECTION] transport, grpc olarak ayarlanırsa gRPC aktarımı ortam tarafından desteklenmelidir (bkz. aktarım kılavuzu).
  10. [CONNECTION] transport grpc olarak ayarlanmadığında [CONNECTION] grpcChannelIsSecure true olmalıdır.
  11. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] transport, grpc olarak ayarlandığında ayarlanabilir.
  12. [CONNECTION] grpcChannelCredential yalnızca [CONNECTION] grpcChannelIsSecure true olduğunda ayarlanabilir.