Library klien Google Ads API menyediakan beberapa setelan konfigurasi yang dapat Anda gunakan untuk menyesuaikan perilaku library.
Mengonfigurasi library saat runtime
Cara yang direkomendasikan untuk mengonfigurasi library klien adalah dengan menginisialisasi objek GoogleAdsConfig
saat runtime:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = "APPLICATION",
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
Opsi konfigurasi alternatif
Kami juga menyediakan beberapa opsi tambahan untuk mengonfigurasi library klien: untuk
mengaktifkannya, tambahkan referensi Nuget ke paket
Google.Ads.GoogleAds.Extensions
di
project Anda.
Jika Anda menggunakan salah satu opsi ini, setelan konfigurasi tidak akan diambil secara otomatis: Anda harus memuatnya secara eksplisit seperti yang ditunjukkan di bawah ini.
Mengonfigurasi menggunakan App.config
Semua setelan khusus untuk Google Ads API
disimpan di node GoogleAdsApi
file App.config
. Konfigurasi standar App.config
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>
Untuk memuat setelan konfigurasi dari file App.config
, panggil
metode LoadFromDefaultAppConfigSection
pada objek GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Menentukan file App.config yang terpisah
Jika tidak ingin App.config
terlihat berantakan, Anda dapat memindahkan
konfigurasi khusus library ke dalam file konfigurasinya sendiri menggunakan
properti
configSource
.
Langkah 1: Menentukan configSource di App.config
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
Sekarang buat file konfigurasi lain dengan nama yang Anda tentukan di configSource
,
lalu pindahkan node konfigurasi dari App.config
ke dalam file ini:
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
... More settings.
</GoogleAdsApi>
Langkah 3: Perbaiki aturan build di csproj Anda
Terakhir, sertakan file konfigurasi baru dalam proyek Anda. Ubah properti file ini menjadi Selalu salin ke folder output.
Sekarang, bangun dan jalankan project Anda. Aplikasi Anda akan mulai mengambil nilai dari file konfigurasi baru.
Konfigurasi menggunakan file JSON kustom
Anda dapat menggunakan
instance IConfigurationRoot
untuk mengonfigurasi library klien.
Membuat file JSON
Buat file JSON bernama GoogleAdsApi.json
yang memiliki struktur serupa 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 IConfigurationRoot
.
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);
Konfigurasi menggunakan settings.json
Proses di sini mirip dengan menggunakan JSON kustom, hanya saja kunci harus berada di bagian 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();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
Konfigurasi menggunakan variabel lingkungan
Anda juga dapat melakukan inisialisasi GoogleAdsClient
menggunakan variabel lingkungan:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
Lihat daftar lengkap variabel lingkungan yang didukung.
Kolom konfigurasi
Berikut adalah daftar setelan yang didukung oleh library .NET Google Ads.
Setelan konektivitas
Timeout
: Gunakan kunci ini untuk menetapkan waktu tunggu layanan dalam milidetik. Nilai default ditetapkan berdasarkan setelanmethod_config/timeout
di googleads_grpc_service_config.json. Tetapkan nilai yang lebih rendah jika Anda perlu menerapkan batas yang lebih singkat pada waktu maksimum untuk panggilan API. Anda dapat menetapkan waktu tunggu ke 2 jam atau lebih, tetapi API mungkin masih menghabiskan waktu tunggu permintaan yang sangat lama dan menampilkan errorDEADLINE_EXCEEDED
.ProxyServer
: Menetapkan parameter ini ke URL server proxy HTTP jika Anda menggunakan proxy untuk terhubung ke internet.ProxyUser
: Tetapkan string ini ke nama pengguna yang Anda perlukan untuk mengautentikasi terhadap server proxy. Kosongkan bagian ini jika nama pengguna tidak diperlukan.ProxyPassword
: Tetapkan ini ke sandiProxyUser
jika Anda menetapkan nilai untukProxyUser
.ProxyDomain
: Setel ini ke domain untukProxyUser
jika server proxy Anda memerlukannya untuk disetel.MaxReceiveMessageLengthInBytes
: Gunakan setelan ini untuk meningkatkan ukuran maksimum respons API yang dapat ditangani library klien. Nilai default-nya adalah 64 MB.MaxMetadataSizeInBytes
: Gunakan setelan ini untuk meningkatkan ukuran maksimum respons error API yang dapat ditangani library klien. Nilai defaultnya adalah 16 MB.
Sesuaikan setelan
MaxReceiveMessageLengthInBytes
danMaxMetadataSizeInBytes
untuk memperbaiki errorResourceExhausted
tertentu. Setelan ini mengatasi error berbentukStatus(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
.Dalam contoh ini, error disebabkan oleh ukuran pesan (
423184132 bytes
) yang lebih besar dari yang dapat ditangani library (67108864 bytes
). TingkatkanMaxReceiveMessageLengthInBytes
menjadi500000000
untuk menghindari error ini.Perlu diketahui bahwa error ini juga menunjukkan bahwa kode Anda menangani objek Respons yang sangat besar (seperti
SearchGoogleAdsResponse
besar). Hal ini dapat berdampak pada performa kode Anda karena Heap Object Besar .NET. Jika hal ini menjadi masalah performa, Anda mungkin harus mempelajari cara mengatur ulang panggilan API atau mendesain ulang bagian-bagian aplikasi.
Setelan OAuth2
Saat menggunakan OAuth2 untuk mengizinkan panggilan ke server Google Ads API, Anda harus menetapkan kunci konfigurasi berikut:
AuthorizationMethod
: Tetapkan keOAuth2
.OAuth2Mode
: Tetapkan keAPPLICATION
atauSERVICE_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 mengizinkan 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 mengetahui detail selengkapnya:
Jika menggunakan OAuth2Mode == SERVICE_ACCOUNT
, Anda perlu menetapkan
kunci konfigurasi tambahan berikut.
OAuth2PrnEmail
: Tetapkan nilai ini ke alamat email akun yang Anda tiru identitasnya.OAuth2SecretsJsonPath
: Tetapkan nilai ini ke jalur file konfigurasi JSON OAuth2.
Lihat panduan alur akun layanan OAuth untuk detail selengkapnya.
Setelan transportasi
UseGrpcCore
: Menetapkan setelan ini ketrue
untuk menggunakan libraryGrpc.Core
sebagai lapisan transpor dasar. Lihat panduan dukungan gRPC untuk mengetahui detail selengkapnya.
Setelan Google Ads API
Setelan berikut khusus untuk Google Ads API.
DeveloperToken
: Tetapkan ini ke token developer Anda.LoginCustomerId
: Ini adalah ID pelanggan dari pelanggan yang diberi otorisasi untuk digunakan dalam permintaan, tanpa tanda hubung (-
).LinkedCustomerId
: Header ini hanya diperlukan untuk metode yang memperbarui resource entitas saat diizinkan melalui Akun Tertaut di UI Google Ads (resourceAccountLink
di Google Ads API). Tetapkan nilai ini ke ID pelanggan penyedia data yang memperbarui resource untuk ID pelanggan yang ditentukan. Kolom ini harus ditetapkan tanpa tanda hubung (-
). Pelajari Akun Tertaut lebih lanjut.