Google Ads API istemci kitaplığı, kitaplık davranışını özelleştirmek için kullanabileceğiniz çeşitli yapılandırma ayarları sağlar.
Kitaplığı çalışma zamanında yapılandırma
İstemci kitaplığını yapılandırmanın tercih edilen yolu, çalışma zamanında bir GoogleAdsConfig
nesnesi başlatmaktır:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.APPLICATION,
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Alternatif yapılandırma seçenekleri
İstemci kitaplığını yapılandırmak için bazı ek seçenekler de sunuyoruz. Bu seçenekleri etkinleştirmek için projenizdeki Google.Ads.GoogleAds.Extensions
paketine bir Nuget referansı ekleyin.
Bu seçeneklerden birini kullanırsanız yapılandırma ayarları otomatik olarak alınmaz. Bunları aşağıda gösterildiği gibi açıkça yüklemeniz gerekir.
App.config kullanarak yapılandırma
Google Ads API
ile ilgili tüm ayarlar App.config
dosyasının GoogleAdsApi
düğümünde saklanır. Tipik bir yapılandırma App.config
şu şekildedir:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
</configSections>
<GoogleAdsApi>
<!-- Set the service timeout in milliseconds. -->
<add key="Timeout" value="2000" />
<!-- Proxy settings for library. -->
<add key="ProxyServer" value="http://localhost:8888"/>
<add key="ProxyUser" value=""/>
<add key="ProxyPassword" value=""/>
<add key="ProxyDomain" value=""/>
<!-- API-specific settings -->
<add key="DeveloperToken" value="******"/>
<!-- OAuth2 settings -->
<add key = "OAuth2Mode" value="APPLICATION"/>
<add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
<add key = "OAuth2ClientSecret" value = "******" />
<add key = "OAuth2RefreshToken" value = "******" />
</GoogleAdsApi>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
Yapılandırma ayarlarını bir App.config
dosyasından yüklemek için GoogleAdsConfig
nesnesinde LoadFromDefaultAppConfigSection
yöntemini çağırın:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Ayrı bir App.config dosyası belirtin
App.config
öğenizin dağınık görünmesini istemiyorsanız configSource
özelliğini kullanarak kitaplığa özel yapılandırmayı kendi yapılandırma dosyasına taşıyabilirsiniz.
1. adım: App.config dosyanızda bir configSource belirtin
App.config
öğenizi aşağıdaki gibi değiştirin:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
</configSections>
<GoogleAdsApi configSource="GoogleAdsApi.config"/>
...
</configuration>
2. adım: Yapılandırma dosyanızın içeriğini belirtin
Şimdi configSource
içinde belirttiğiniz adla başka bir yapılandırma dosyası oluşturun,
ve yapılandırma düğümünü App.config
dosyanızdan bu dosyaya taşıyın:
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
... More settings.
</GoogleAdsApi>
3. adım: csproj dosyanızdaki derleme kurallarını düzeltin
Son olarak, yeni yapılandırma dosyasını projenize ekleyin. Bu dosyanın özelliklerini Her zaman çıkış klasörüne kopyala olarak değiştirin.
Şimdi projenizi oluşturup çalıştırın. Uygulamanız, yeni yapılandırma dosyasındaki değerleri almaya başlar.
Özel bir JSON dosyası kullanarak yapılandırma
İstemci kitaplığını yapılandırmak için IConfigurationRoot
örneğini kullanabilirsiniz.
JSON dosyası oluşturma
GoogleAdsApi.json
adlı bir JSON dosyası oluşturun. Bu dosyanın yapısı, App.config
dosyasına benzer olmalıdır.
{
"Timeout": "2000",
"ProxyServer": "http://localhost:8888",
"ProxyUser": "",
"ProxyPassword": "",
"ProxyDomain": "",
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
}
Yapılandırmayı yükleme
Ardından, JSON dosyasını IConfigurationRoot
içine yükleyin.
ConfigurationBuilder builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationRoot(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);
settings.json kullanarak yapılandırma
Buradaki işlem, özel bir JSON kullanmaya benzer. Ancak anahtarlar GoogleAdsApi
adlı bir bölümde olmalıdır:
{
"GoogleAdsApi":
{
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
...
}
// More settings...
}
Ardından, sayfanızda IConfiguration
örneğini kullanabilirsiniz:
IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Ortam değişkenlerini kullanarak yapılandırma
GoogleAdsClient
öğesini ortam değişkenlerini kullanarak da başlatabilirsiniz:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Desteklenen ortam değişkenlerinin tam listesini inceleyin.
Yapılandırma alanları
Google Ads .NET kitaplığı tarafından desteklenen ayarların listesini aşağıda bulabilirsiniz.
Bağlantı ayarları
Timeout
: Hizmet zaman aşımını milisaniye cinsinden ayarlamak için bu anahtarı kullanın. Varsayılan değer, googleads_grpc_service_config.json dosyasındakimethod_config/timeout
ayarına göre belirlenir. Bir API çağrısının maksimum süresine daha kısa bir sınır uygulamanız gerekiyorsa daha düşük bir değer ayarlayın. Zaman aşımını 2 saat veya daha uzun olarak ayarlayabilirsiniz ancak API, çok uzun süren isteklerde yine de zaman aşımına uğrayabilir veDEADLINE_EXCEEDED
hatası döndürebilir.ProxyServer
: İnternet'e bağlanmak için proxy kullanıyorsanız bunu HTTP proxy sunucusu URL'sine ayarlayın.ProxyUser
: Bunu, proxy sunucusunda kimlik doğrulaması yapmak için gereken kullanıcı adı olarak ayarlayın. Kullanıcı adı gerekmiyorsa bu alanı boş bırakın.ProxyPassword
:ProxyUser
için bir değer ayarlarsanız bunuProxyUser
şifresi olarak ayarlayın.ProxyDomain
: Proxy sunucunuzun ayarlanmasını gerektiriyorsa bunuProxyUser
için alan olarak ayarlayın.MaxReceiveMessageLengthInBytes
: İstemci kitaplığının işleyebileceği maksimum API yanıtı boyutunu artırmak için bu ayarı kullanın. Varsayılan değer 64 MB'tır.MaxMetadataSizeInBytes
: Bu ayarı, istemci kitaplığının işleyebileceği API hata yanıtının maksimum boyutunu artırmak için kullanın. Varsayılan değer 16 MB'tır.
Belirli
ResourceExhausted
hatalarını düzeltmek içinMaxReceiveMessageLengthInBytes
veMaxMetadataSizeInBytes
ayarlarını düzenleyin. Bu ayarlar,Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
biçimindeki hataları giderir.Bu örnekte hata, ileti boyutunun (
423184132 bytes
) kitaplığın işleyebileceğinden (67108864 bytes
) büyük olmasından kaynaklanmaktadır. Bu hatayı önlemek içinMaxReceiveMessageLengthInBytes
değerini500000000
olarak artırın.Hatanın, kodunuzun önemli ölçüde büyük bir yanıt nesnesini (ör. büyük bir
SearchGoogleAdsResponse
) işlediğini de gösterdiğini unutmayın. Bu durum, .NET'in Large Object Heap'i nedeniyle kodunuzun performansını etkileyebilir. Bu durum performansla ilgili bir sorun haline gelirse API çağrılarınızı nasıl yeniden düzenleyeceğinizi veya uygulamanızın bazı bölümlerini nasıl yeniden tasarlayacağınızı araştırmanız gerekebilir.
OAuth2 ayarları
Google Ads API sunucularına karşı yaptığınız çağrıları yetkilendirmek için OAuth2'yi kullanırken aşağıdaki yapılandırma anahtarlarını ayarlamanız gerekir:
AuthorizationMethod
:OAuth2
olarak ayarlayın.OAuth2Mode
:APPLICATION
veyaSERVICE_ACCOUNT
olarak ayarlayın.OAuth2ClientId
: Bu değeri OAuth2 istemci kimliğiniz olarak ayarlayın.OAuth2ClientSecret
: Bu değeri OAuth2 istemci sırrınıza ayarlayın.OAuth2Scope
: Birden fazla API için OAuth2 jetonlarını yetkilendirmek istiyorsanız bu değeri farklı kapsamlar olarak ayarlayın. Bu ayar isteğe bağlıdır.
OAuth2Mode == APPLICATION
kullanıyorsanız aşağıdaki ek yapılandırma anahtarlarını ayarlamanız gerekir.
OAuth2RefreshToken
: OAuth2 jetonlarını yeniden kullanmak istiyorsanız bu değeri önceden oluşturulmuş bir OAuth2 yenileme jetonu olarak ayarlayın. Bu ayar isteğe bağlıdır.OAuth2RedirectUri
: Bu değeri OAuth2 yönlendirme URL'sine ayarlayın. Bu ayar isteğe bağlıdır.
Daha fazla bilgi için aşağıdaki kılavuzlara bakın:
OAuth2Mode == SERVICE_ACCOUNT
kullanıyorsanız aşağıdaki ek yapılandırma anahtarlarını ayarlamanız gerekir.
OAuth2PrnEmail
: Bu değeri, kimliğine büründüğünüz hesabın e-posta adresi olarak ayarlayın.OAuth2SecretsJsonPath
: Bu değeri OAuth2 JSON yapılandırma dosyasının yoluna ayarlayın.
Daha fazla bilgi için OAuth hizmet hesabı akışı kılavuzuna bakın.
Ulaşım ayarları
UseGrpcCore
:Grpc.Core
kitaplığını temel aktarım katmanı olarak kullanmak için bu ayarıtrue
olarak ayarlayın. Eski Grpc kitaplığını kullanma başlıklı makaleyi inceleyin.
Google Ads API ayarları
Aşağıdaki ayarlar Google Ads API'ye özeldir.
DeveloperToken
: Bunu geliştirici jetonunuza ayarlayın.LoginCustomerId
: Bu, istekte kullanılacak yetkili müşterinin kısa çizgisiz müşteri kimliğidir (-
).LinkedCustomerId
: Bu başlık yalnızca Google Ads kullanıcı arayüzünde (Google Ads API'dekiAccountLink
kaynağı) Bağlı Hesaplar aracılığıyla izin verildiğinde bir öğenin kaynaklarını güncelleyen yöntemler için gereklidir. Bu değeri, belirtilen müşteri kimliğinin kaynaklarını güncelleyen veri sağlayıcının müşteri kimliğine ayarlayın. Bu alan, tire olmadan ayarlanmalıdır (-
). Bağlı hesaplar hakkında daha fazla bilgi edinin.