Yapılandırma

Google Ads API istemci kitaplığı, Google Ads API'yi kullanarak kullanabilirsiniz.

Kitaplığı çalışma zamanında yapılandırma

İstemci kitaplığını yapılandırmak için tercih edilen yöntem, Çalışma zamanında GoogleAdsConfig nesne:

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 kullanabileceğiniz bazı ek seçenekler de mevcuttur: varsa Google.Ads.GoogleAds.Extensions öğesine bir Nuget referansı ekleyin paket akılda kalıcı bir yolunu sunar.

Bu seçeneklerden birini kullanırsanız yapılandırma ayarları alınmaz otomatik olarak: bunları aşağıda gösterildiği gibi açık bir şekilde yüklemeniz gerekir.

App.config kullanarak yapılandırın

Google Ads API öğesine özgü tüm ayarlar GoogleAdsApi içinde saklanır App.config dosyasının düğümünü değiştirin. Tipik bir App.config yapılandırması şöyledir: şöyle olur:

<?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 şunu çağırın: Bir GoogleAdsConfig nesnesinde LoadFromDefaultAppConfigSection yöntemi:

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

Ayrı bir App.config dosyası belirtin

App.config cihazınızın dağınık olmasını istemiyorsanız kendi yapılandırma dosyasına configSource

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

App.config öğenizi şu şekilde görünecek şekilde 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 cihazınızdan ş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, projenize yeni yapılandırma dosyasını ekleyin. Özellikleri değiştirme dosyayı Her zaman çıkış klasörüne kopyala'ya kopyalayın.

Şimdi projenizi derleyip çalıştırın. Uygulamanız değer toplamaya başlar yeni yapılandırma dosyasından seçin.

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

URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için IConfigurationRoot yapılandırma örneğidir.

JSON dosyası oluşturma

Şuna benzer yapıya sahip GoogleAdsApi.json adında bir JSON dosyası oluşturun: App.config dosya

{
    "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 dosyasına 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'u kullanarak yapılandırma

Buradaki işlem, özel bir JSON kullanmaya benzer, ancak anahtarların GoogleAdsApi adlı bir bölümde olmalı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();
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ın tam listesini inceleyin: değişkenleri ile birlikte kullanılamaz.

Yapılandırma alanları

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

Bağlantı ayarları

  • Timeout: Hizmet zaman aşımını milisaniye cinsinden ayarlamak için bu anahtarı kullanın. İlgili içeriği oluşturmak için kullanılan varsayılan değer şuradaki method_config/timeout ayarına göre belirlenir: googleads_grpc_service_config.json. Maksimum süre için daha kısa bir sınır uygulamanız gerekiyorsa daha düşük bir değer belirleyin. anlamına gelir. Zaman aşımını 2 saat veya daha uzun bir süreye ayarlayabilirsiniz, ancak API bazen aşırı uzun süren istekleri zaman aşımına uğratmadan DEADLINE_EXCEEDED hatası.
  • ProxyServer: HTTP proxy sunucusu URL'si kullanıyorsanız bunu HTTP proxy sunucu URL'sine ayarlayın. proxy'si vardır.
  • ProxyUser: Bunu, kimlik doğrulaması yapmanız gereken kullanıcı adı olarak ayarlayın. dikkat edin. Kullanıcı adı gerekli değilse bu alanı boş bırakın.
  • ProxyPassword: Bir değer ayarlarsanız bunu ProxyUser şifresi olarak ayarlayın (ProxyUser için).
  • ProxyDomain: Proxy sunucunuz ise bunu ProxyUser alan adı olarak ayarlayın ayarlanması gerekir.
  • MaxReceiveMessageLengthInBytes: Maksimum istemci kitaplığının işleyebileceği API yanıtının boyutu. Varsayılan değer 64 MB'tır.
  • MaxMetadataSizeInBytes: Maksimum istemci kitaplığının işleyebileceği API hatası yanıtının boyutu. İlgili içeriği oluşturmak için kullanılan varsayılan değer 16 MB'tır.

MaxReceiveMessageLengthInBytes ve MaxMetadataSizeInBytes ayarlayın ayarlarını kullanın.ResourceExhausted Bu ayarlar adresi Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)" formundaki hatalar.

Bu örnekte, hata ileti boyutundan (423184132 bytes) kaynaklanmaktadır kitaplığın kaldırabileceğinden daha büyük (67108864 bytes). Artır Bu hatadan kaçınmak için 500000000 adresine MaxReceiveMessageLengthInBytes.

Hatanın, aynı zamanda kodunuzun önemli ölçüde büyük Yanıt nesnesi (örneğin, SearchGoogleAdsResponse) tıklayın. Bu .NET'in Büyük Nesnesi nedeniyle kodunuzun performansını etkileyebilir Yığın. Bu durum bir performans sorunu haline gelirse, performansla ilgili API çağrılarınızı yeniden düzenleyebilir veya uygulamanızın bazı bölümlerini yeniden tasarlayabilirsiniz.

OAuth2 ayarları

Çağrılarınızı Google Ads API sunucularına yetkilendirmek için OAuth2 kullanırken şu yapılandırma anahtarlarını ayarlamanız gerekir:

  • AuthorizationMethod: OAuth2 olarak ayarlandı.
  • OAuth2Mode: APPLICATION veya SERVICE_ACCOUNT olarak ayarlayın.
  • OAuth2ClientId: Bu değeri OAuth2 istemci kimliğinize ayarlayın.
  • OAuth2ClientSecret: Bu değeri OAuth2 istemci gizli anahtarınız olarak ayarlayın.
  • OAuth2Scope: Yetkilendirmek istiyorsanız bu değeri farklı kapsamlara ayarlayın. Birden fazla API için OAuth2 jetonları. Bu ayar isteğe bağlıdır.

OAuth2Mode == APPLICATION kullanıyorsanız aşağıdakileri ayarlamanız gerekir ek yapılandırma anahtarları.

  • OAuth2RefreshToken: Bu değeri önceden oluşturulmuş bir OAuth2 yenileme jetonuna ayarlayın OAuth2 jetonlarını yeniden kullanmak istiyorsanız. 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 kontrol edin.

  • OAuth2PrnEmail: Bu değeri, kullandığınız hesabın e-posta adresine ayarlayın izin vermiştir.
  • OAuth2SecretsJsonPath: Bu değeri OAuth2 JSON yapılandırmasına ayarlayın dosya yolu.

OAuth hizmet hesabı akışını inceleyin. rehberini inceleyin.

Ulaşım ayarları

Google Ads API ayarları

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

  • DeveloperToken: Bunu geliştirici jetonunuz olarak ayarlayın.
  • LoginCustomerId: Bu, kullanma yetkisine sahip müşterinin müşteri kimliğidir. kısa çizgi (-) olmadan istekte bulunabilirsiniz.
  • LinkedCustomerId: Bu üstbilgi yalnızca Bağlı Hesaplar üzerinden izin verildiğinde tüzel kişinin kaynakları Google Ads kullanıcı arayüzü (Google Ads API'de AccountLink kaynağı). Bu değeri belirtilen müşteri kimliği. Kısa çizgi (-) olmadan ayarlanmalıdır. Bağlı hakkında daha fazla bilgi edinin Hesaplar.