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 şöyledir:
- Ayarlanmışsa
GOOGLE_ADS_CONFIGURATION_FILE_PATHadlı ortam değişkeninin değeri. - Aksi takdirde,
HOMEdizininizdekigoogle_ads_php.inidosyası.
$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)
// ...
->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 ayarları 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.
OAuth2TokenBuildertarafı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ının yolu.[OAUTH2] scopes: Kapsamlar.[OAUTH2] impersonatedEmail: Kimliğine bürünülecek e-posta adresi.
- Uygulama Modu
GoogleAdsClientBuildertarafından kullanılan alanlar:[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ük kaydı 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: Nakliye[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:
[OAUTH2]alanları, hem uygulama modu hem de hizmet hesabı modu için aynı anda ayarlanmamalıdır.- Hizmet hesabı modu kullanılırken
[OAUTH2] jsonKeyFilePathve[OAUTH2] scopesayarlanmalıdır. - Uygulama Modu kullanılırken
[OAUTH2] clientId,[OAUTH2] clientSecretve[OAUTH2] refreshTokenayarlanmalıdır. - Ayarlanırsa
[GOOGLE_ADS] loginCustomerIdve[GOOGLE_ADS] linkedCustomerIdpozitif sayılar olmalıdır. - Ayarlanırsa
[CONNECTION] proxygeçerli bir URL olmalıdır (bkz. filtre FILTER_VALIDATE_URL). - Ayarlanırsa
[LOGGING] logLevel, büyük harflerle yazılmış geçerli bir PSR günlük düzeyi olmalıdır (ör.INFO). - Ayarlanırsa
[CONNECTION] transport,grpcveyarestolmalıdır. [CONNECTION] transport,grpcolarak ayarlanırsa gRPC aktarımı ortam tarafından desteklenmelidir (transport kılavuzuna bakın).[CONNECTION] transport,grpcolarak ayarlanmadığında[CONNECTION] grpcChannelIsSecure,trueolmalıdır.[CONNECTION] grpcChannelCredentialyalnızca[CONNECTION] transport,grpcolarak ayarlandığında belirlenebilir.[CONNECTION] grpcChannelCredentialyalnızca[CONNECTION] grpcChannelIsSecure,trueolduğunda ayarlanabilir.