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
nesnesini başlatmaktır:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = "APPLICATION",
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Alternatif yapılandırma seçenekleri
Ayrıca, istemci kitaplığını yapılandırmak için bazı ek seçenekler de sağlarız: Bunları etkinleştirmek için projenizdeki Google.Ads.GoogleAds.Extensions
paketine 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
ürününe özgü tüm ayarlar, App.config
dosyasının GoogleAdsApi
düğümünde saklanır. Tipik bir App.config
yapılandırması aşağıdaki gibidir:
<?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 bir 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
öğenizi karmaşık hale getirmek 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
ayarlarını 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
kaynağında belirttiğiniz adla başka bir yapılandırma dosyası oluşturun ve yapılandırma düğümünü App.config
konumundan şu dosyaya taşıyın:
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
... More settings.
</GoogleAdsApi>
3. Adım: CSS'nizdeki 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 derleyip çalıştırın. Uygulamanız yeni yapılandırma dosyasından değerler almaya başlar.
Özel JSON dosyası kullanarak yapılandırma
İstemci kitaplığını yapılandırmak için IConfigurationRoot
örneği kullanabilirsiniz.
JSON dosyası oluşturma
App.config
dosyasıyla benzer yapıya sahip GoogleAdsApi.json
adında bir JSON dosyası oluşturun.
{
"Timeout": "2000",
"ProxyServer": "http://localhost:8888",
"ProxyUser": "",
"ProxyPassword": "",
"ProxyDomain": "",
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
}
Yapılandırmayı yükle
Ardından, JSON dosyasını bir 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, tek fark anahtarların GoogleAdsApi
adlı bir bölümde olması gerekir:
{
"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 listesi aşağıda verilmiştir.
Bağlantı ayarları
Timeout
: Milisaniye cinsinden hizmet zaman aşımını 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. API çağrısı için maksimum süre konusunda daha kısa bir sınır uygulamanız gerekiyorsa daha düşük bir değer belirleyin. Zaman aşımını 2 saat veya daha uzun olacak şekilde ayarlayabilirsiniz ancak API, aşırı uzun süren istekleri yine de zaman aşımına uğratabilir veDEADLINE_EXCEEDED
hatası döndürebilir.ProxyServer
: İnternete bağlanmak için bir proxy kullanıyorsanız bunu HTTP proxy sunucu URL'sine ayarlayın.ProxyUser
: Bu değeri, proxy sunucuda kimlik doğrulaması yapmak için ihtiyaç duyduğunuz 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
öğesinin şifresi olarak ayarlayın.ProxyDomain
: Proxy sunucunuz bir tane ayarlanmasını gerektiriyorsa bunuProxyUser
için alan adı 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
: İstemci kitaplığının işleyebileceği API hata yanıtının maksimum boyutunu artırmak için bu ayarı kullanın. Varsayılan değer 16 MB'tır.
Belirli
ResourceExhausted
hatalarını düzeltmek içinMaxReceiveMessageLengthInBytes
veMaxMetadataSizeInBytes
ayarlarını yapın. Bu ayarlar,Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
formundaki hataları ele alır.Bu örnekte hata, ileti boyutunun (
423184132 bytes
) kitaplığın işleyebileceğinden (67108864 bytes
) daha büyük olmasından kaynaklanmaktadır. Bu hatayı önlemek içinMaxReceiveMessageLengthInBytes
boyutunu500000000
olacak şekilde artırın.Bu hata, kodunuzun önemli ölçüde büyük bir Yanıt nesnesini (büyük bir
SearchGoogleAdsResponse
gibi) işlediğini de belirtir. Bu durum, .NET'in Büyük Nesne Yığını nedeniyle kodunuz üzerinde performans etkileri olabilir. Bu durum bir performans sorunu haline gelirse API çağrılarınızı nasıl yeniden düzenleyeceğinizi veya uygulamanızın bölümlerini nasıl yeniden tasarlayacağınızı keşfetmeniz gerekebilir.
OAuth2 ayarları
Google Ads API sunucularına yönelik çağrılarınızı yetkilendirmek için OAuth2 kullanırken aşağıdaki yapılandırma anahtarlarını ayarlamanız gerekir:
AuthorizationMethod
:OAuth2
olarak ayarlanır.OAuth2Mode
:APPLICATION
veyaSERVICE_ACCOUNT
olarak ayarlayın.OAuth2ClientId
: Bu değeri OAuth2 istemci kimliğiniz olarak ayarlayın.OAuth2ClientSecret
: Bu değeri OAuth2 istemci gizli anahtarınız olarak ayarlayın.OAuth2Scope
: OAuth2 jetonlarını birden fazla API için yetkilendirmek istiyorsanız bu değeri farklı kapsamlara 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ılavuzları inceleyin:
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 adresine ayarlayın.OAuth2SecretsJsonPath
: Bu değeri OAuth2 JSON yapılandırma dosyası yoluna ayarlayın.
Daha fazla ayrıntı için OAuth hizmet hesabı akışı kılavuzuna bakın.
Ulaşım ayarları
UseGrpcCore
: Temel aktarım katmanı olarakGrpc.Core
kitaplığını kullanmak için bu ayarıtrue
olarak belirleyin. Daha ayrıntılı bilgi için gRPC destek kılavuzuna bakın.
Google Ads API ayarları
Aşağıdaki ayarlar Google Ads API'ye özeldir.
DeveloperToken
: Bunu geliştirici jetonunuz olarak ayarlayın.LoginCustomerId
: İstekte kullanılacak yetkili müşterinin müşteri kimliğidir, kısa çizgi (-
) kullanılmaz.LinkedCustomerId
: Bu üst bilgi yalnızca Google Ads kullanıcı arayüzündeki Bağlı Hesaplar (Google Ads API'dekiAccountLink
kaynağı) üzerinden izin verildiğinde bir varlığın 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. Kısa çizgi (-
) olmadan ayarlanmalıdır. Bağlı Hesaplar hakkında daha fazla bilgi edinin.