Konfigurasi

Library klien Google Ads API menyediakan beberapa setelan konfigurasi yang dapat Anda gunakan untuk menyesuaikan perilaku library.

Mengonfigurasi menggunakan App.config

Semua setelan khusus untuk Google Ads API disimpan dalam node GoogleAdsApi file App.config. Konfigurasi App.config yang umum adalah sebagai berikut:

<?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>

Menentukan file App.config terpisah

Jika tidak ingin App.config berantakan, Anda dapat memindahkan konfigurasi khusus library ke dalam file konfigurasinya sendiri menggunakan properti configSource.

Langkah 1: Tentukan configSource di App.config Anda

Ubah App.config Anda agar terlihat seperti ini:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
  </configSections>
  <GoogleAdsApi configSource="GoogleAdsApi.config"/>
…
</configuration>

Langkah 2: Tentukan konten file konfigurasi Anda

Sekarang buat file konfigurasi lain dengan nama yang Anda tentukan di configSource, dan pindahkan node konfigurasi dari App.config ke file ini:

<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
  … More settings.
</GoogleAdsApi>

Langkah 3: Perbaiki aturan build di cstoolkit

Terakhir, sertakan file konfigurasi baru dalam project Anda. Ubah properti file ini menjadi Always salin ke output folder.

Sekarang, build dan jalankan project Anda. Aplikasi Anda akan mulai mengambil nilai dari file konfigurasi baru.

Mengonfigurasi menggunakan file JSON khusus

Anda dapat menggunakan instance IConfigurationRoot untuk mengonfigurasi library klien.

Membuat file JSON

Buat file JSON bernama GoogleAdsApi.json yang memiliki struktur yang mirip dengan file App.config.

{
    "Timeout": "2000",

    "ProxyServer": "http://localhost:8888",
    "ProxyUser": "",
    "ProxyPassword": "",
    "ProxyDomain": "",

    "DeveloperToken": "******",

    "OAuth2Mode": "APPLICATION",
    "OAuth2ClientId": "******.apps.googleusercontent.com",
    "OAuth2ClientSecret": "******",
    "OAuth2RefreshToken": "******",
}

Memuat konfigurasi

Selanjutnya, muat file JSON ke dalam IConfigurationRoot.

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

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

Mengonfigurasi menggunakan settings.json

Proses di sini mirip dengan penggunaan JSON kustom, kecuali bahwa kunci harus berada di bagian yang bernama GoogleAdsApi:

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

Selanjutnya, Anda dapat menggunakan instance IConfiguration di halaman Anda:

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

Mengonfigurasi library saat runtime

Anda juga dapat melakukan inisialisasi GoogleAdsClient pada runtime.

Contoh 1: Inisialisasi konfigurasi pada runtime

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

GoogleAdsClient client = new GoogleAdsClient(config);

Contoh 2: Memuat dari App.config, tetapi mengganti setelan

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

Mengonfigurasi library menggunakan variabel lingkungan

Anda juga dapat melakukan inisialisasi GoogleAdsClient menggunakan variabel lingkungan. Setelan ini tidak diambil secara otomatis, Anda juga harus memuat setelan dari variabel lingkungan seperti yang ditunjukkan di bawah ini.

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

Lihat daftar lengkap variabel lingkungan yang didukung di sini.

Kolom konfigurasi

Berikut adalah daftar setelan yang didukung oleh pustaka .NET Google Ads.

Setelan konektivitas

  • Timeout: Gunakan kunci ini untuk menetapkan waktu tunggu layanan dalam milidetik. Nilai default ditetapkan berdasarkan setelan method_config/timeout di googleads_grpc_service_config.json. Tetapkan nilai yang lebih rendah jika Anda perlu menerapkan batas yang lebih singkat untuk waktu maksimum panggilan API. Anda dapat menetapkan waktu tunggu ke 2 jam atau lebih, tetapi API tersebut mungkin masih kehabisan waktu untuk permintaan yang berjalan sangat lama dan menampilkan error DEADLINE_EXCEEDED.
  • ProxyServer: Setel ini ke URL server proxy HTTP jika Anda menggunakan proxy untuk terhubung ke internet.
  • ProxyUser: Setel ini ke nama pengguna yang diperlukan untuk melakukan autentikasi terhadap server proxy. Biarkan kosong jika nama pengguna tidak diperlukan.
  • ProxyPassword: Setel ini ke sandi ProxyUser jika Anda menetapkan nilai untuk ProxyUser.
  • ProxyDomain: Setel ini ke domain untuk ProxyUser jika server proxy Anda memerlukan setelan untuk disetel.
  • MaxReceiveMessageLengthInBytes: Gunakan setelan ini untuk meningkatkan ukuran maksimum respons API yang dapat ditangani library klien. Nilai defaultnya adalah 64 MB.
  • MaxMetadataSizeInBytes: Gunakan setelan ini untuk meningkatkan ukuran maksimum respons error API yang dapat ditangani oleh library klien. Nilai defaultnya adalah 16 MB.

Setelan OAuth2

Ketika menggunakan OAuth2 untuk mengotorisasi panggilan Anda ke server Google Ads API, Anda harus menetapkan kunci konfigurasi berikut:

  • AuthorizationMethod: Ini harus disetel ke OAuth2.
  • OAuth2Mode: Ini harus disetel ke APPLICATION atau SERVICE_ACCOUNT.
  • OAuth2ClientId: Tetapkan nilai ini ke client ID OAuth2 Anda.
  • OAuth2ClientSecret: Tetapkan nilai ini ke rahasia klien OAuth2 Anda.
  • OAuth2Scope: Tetapkan nilai ini ke cakupan yang berbeda jika Anda ingin memberikan otorisasi token OAuth2 untuk beberapa API. Setelan ini bersifat opsional.

Jika menggunakan OAuth2Mode == APPLICATION, Anda perlu menetapkan kunci konfigurasi tambahan berikut.

  • OAuth2RefreshToken: Tetapkan nilai ini ke token refresh OAuth2 yang telah dibuat sebelumnya jika Anda ingin menggunakan kembali token OAuth2. Setelan ini bersifat opsional.
  • OAuth2RedirectUri: Tetapkan nilai ini ke URL alihan OAuth2. Setelan ini bersifat opsional.

Lihat panduan berikut untuk detail selengkapnya:

Jika menggunakan OAuth2Mode == SERVICE_ACCOUNT, Anda perlu menetapkan kunci konfigurasi tambahan berikut.

  • OAuth2PrnEmail: Tetapkan nilai ini ke alamat email akun yang meniru identitas tersebut.
  • OAuth2SecretsJsonPath: Menetapkan nilai ini ke jalur file konfigurasi OAuth2 JSON.

Lihat panduan alur akun layanan OAuth untuk mengetahui detail lebih lanjut.

Setelan berikut khusus untuk Google Ads API.

  • DeveloperToken: Tetapkan URL ini ke token developer Anda.
  • LoginCustomerId: Ini adalah ID pelanggan dari pelanggan yang diotorisasi untuk digunakan dalam permintaan, tanpa tanda hubung (-). Pelajari lebih lanjut.
  • LinkedCustomerId: Header ini hanya diperlukan untuk metode yang memperbarui resource suatu entitas jika diizinkan melalui Akun Tertaut di UI Google Ads (resource AccountLink di Google Ads API). Tetapkan nilai ini ke ID pelanggan penyedia data yang memperbarui resource ID pelanggan yang ditentukan. Ini harus ditetapkan tanpa tanda hubung (-). Untuk mempelajari Akun Tertaut lebih lanjut, kunjungi Pusat Bantuan.