Yapılandırma

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

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 depolanır. Genel bir App.config yapılandırması ş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>

Ayrı bir App.config dosyası belirtme

App.config cihazınızı dağınık hale getirmek istemiyorsanız kitaplıka özel yapılandırmayı configSource özelliğini kullanarak kendi yapılandırma dosyasına taşıyabilirsiniz.

1. Adım: App.config dosyanızda bir configSource belirtin

App.config cihazınızı 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 üzerinde 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'unuzdaki derleme kurallarını düzeltin

Son olarak, projenize yeni yapılandırma dosyası ekleyin. Bu dosyanın özelliklerini Her zaman çıkış klasörüne kopyala olarak değiştirin.

Projenizi oluşturup çalıştırın. Uygulamanız, yeni yapılandırma dosyasından değer almaya başlar.

Özel bir JSON dosyası kullanarak yapılandırma

İstemci kitaplığını yapılandırmak için bir IConfigurationRoot örneği kullanabilirsiniz.

JSON dosyası oluşturma

App.config dosyasına benzer yapıya sahip GoogleAdsApi.json adlı 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ükleme

Ardından, JSON dosyasını bir IConfigurationRoot yükleyin.

ConfigurationBuilder builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();

GoogleAdsConfig config = new GoogleAdsConfig(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);

settings.json kullanarak yapılandırma

Buradaki işlem, özel JSON kullanmaya benzer. Tek fark, anahtarların GoogleAdsApi adlı bir bölümde bulunmasıdır:

{
    "GoogleAdsApi":
    {
        "DeveloperToken": "******",
        "OAuth2Mode": "APPLICATION",
        "OAuth2ClientId": "******.apps.googleusercontent.com",
        "OAuth2ClientSecret": "******",
        "OAuth2RefreshToken": "******",
        ...
    }
    // More settings...
}

Daha sonra, sayfanızda IConfiguration örneğini kullanabilirsiniz:

IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig(section);
GoogleAdsClient client = new GoogleAdsClient(config);

Çalışma zamanında kitaplığı yapılandırma

Çalışma zamanında GoogleAdsClient öğesini de başlatabilirsiniz.

1. Örnek: Çalışma zamanında yapılandırmayı başlatma

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = "APPLICATION",
    OAuth2ClientId = "******.apps.googleusercontent.com",
    OAuth2ClientSecret = "******",
    OAuth2RefreshToken = "******"
};

GoogleAdsClient client = new GoogleAdsClient(config);

2. Örnek: App.config'den yükleyin, ancak bir ayarı geçersiz kılın

GoogleAdsClient client = new GoogleAdsClient(config);
client.Config.DeveloperToken = "******";

Ortam değişkenlerini kullanarak kitaplığı yapılandırma

Ortam değişkenlerini kullanarak da GoogleAdsClient öğesini başlatabilirsiniz. Bu ayarlar otomatik olarak alınmaz, aynı zamanda aşağıda gösterildiği gibi ortam değişkenlerinden de ayarları yüklemeniz gerekir.

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);

Desteklenen ortam değişkenlerinin tam listesini burada bulabilirsiniz.

Yapılandırma alanları

Aşağıda, Google Ads .NET kitaplığı tarafından desteklenen ayarların listesi verilmiştir.

Bağlantı ayarları

  • Timeout: Hizmet zaman aşımını milisaniye olarak ayarlamak için bu anahtarı kullanın. Varsayılan değer, googleads_grpc_service_config.json içindeki method_config/timeout ayarına göre belirlenir. Bir API çağrısı için maksimum süre üzerinde 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 fazla olacak şekilde ayarlayabilirsiniz ancak API son derece uzun süren istekleri zaman aşımına uğratabilir ve bir DEADLINE_EXCEEDED hatası döndürebilir.
  • ProxyServer: İnternete bağlanmak için bu proxy'yi kullanıyorsanız HTTP proxy sunucu URL'sini ayarlayın.
  • ProxyUser: Bu proxy'de, proxy sunucu için kimlik doğrulaması yapmak istediğiniz kullanıcı adını seçin. Kullanıcı adı gerekmiyorsa bunu boş bırakın.
  • ProxyPassword: ProxyUser için bir değer ayarlarsanız bu değeri ProxyUser şifresi olarak ayarlayın.
  • ProxyDomain: Proxy sunucunuzun ayarlanması gerekiyorsa bu ayarı ProxyUser için alan adına ayarlayın.
  • MaxReceiveMessageLengthInBytes: İstemci kitaplığının işleyebildiği API yanıtının maksimum boyutunu artırmak için bu ayarı kullanın. Varsayılan değer 64 MB'tır.
  • MaxMetadataSizeInBytes: İstemci kitaplığının işleyebildiğ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.

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: Bu, OAuth2 olarak ayarlanmalıdır.
  • OAuth2Mode: Bu, APPLICATION veya SERVICE_ACCOUNT olarak ayarlanmalıdır.
  • OAuth2ClientId: Bu değeri OAuth2 istemci kimliğinize 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'si olarak ayarlayın. Bu ayar isteğe bağlıdır.

Daha fazla bilgi için aşağıdaki kılavuzlara bakabilirsiniz:

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ı yolu olarak ayarlayın.

Daha fazla ayrıntı için OAuth hizmet hesabı akışı kılavuzuna bakın.

Aşağıdaki ayarlar Google Ads API'ye özeldir.

  • DeveloperToken: Bunu geliştirici jetonunuza ayarlayın.
  • LoginCustomerId: Bu, istekte kullanacak yetkili müşterinin müşteri kimliğidir (tiresiz (-).). Daha fazla bilgi
  • LinkedCustomerId: Bu başlık yalnızca Google Ads kullanıcı arayüzündeki Bağlı Hesaplar (Google Ads API'deki AccountLink kaynağı) üzerinden izin verildiği takdirde 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ısının müşteri kimliğine ayarlayın. Kısa çizgi (-) olmadan ayarlanmalıdır. Bağlı Hesaplar hakkında daha fazla bilgi edinmek için Yardım Merkezi'ni ziyaret edin.