Library klien Google Ads API menyediakan beberapa setelan konfigurasi yang yang dapat Anda gunakan untuk menyesuaikan perilaku library.
Mengonfigurasi library saat runtime
Cara yang lebih disukai untuk mengonfigurasi library klien adalah dengan menginisialisasi
GoogleAdsConfig
pada runtime:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.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 Google.Ads.GoogleAds.Extensions
paket di
pada proyek Anda.
Jika Anda menggunakan salah satu opsi ini, setelan konfigurasi tidak akan diterapkan 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 GoogleAdsApi
node dari file App.config
. Konfigurasi umum App.config
adalah sebagai
berikut ini:
<?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
Metode LoadFromDefaultAppConfigSection
pada objek GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
Menentukan file App.config terpisah
Jika tidak ingin membuat App.config
berantakan, Anda dapat memindahkan
konfigurasi khusus {i>library<i} ke dalam file konfigurasinya sendiri dengan menggunakan
configSource
saat ini.
Langkah 1: Tentukan configSource di App.config
Ubah App.config
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
,
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 csproj
Terakhir, sertakan file konfigurasi baru dalam project Anda. Mengubah properti file ini ke Always copy to output folder.
Sekarang, bangun dan jalankan project Anda. Aplikasi Anda akan mulai mengambil nilai dari file konfigurasi baru.
Konfigurasi menggunakan file JSON kustom
Anda dapat menggunakan
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 dalam 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
Prosesnya di sini mirip dengan menggunakan JSON kustom, hanya saja kunci harus
dalam 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 lingkungan yang didukung variabel.
Kolom konfigurasi
Berikut adalah daftar setelan yang didukung oleh library .NET Google Ads.
Setelan konektivitas
Timeout
: Gunakan kunci ini untuk menyetel waktu tunggu layanan dalam milidetik. Tujuan 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 menyetel waktu tunggu hingga 2 jam atau lebih, tetapi API mungkin masih akan menghentikan permintaan yang berjalan lama, ErrorDEADLINE_EXCEEDED
.ProxyServer
: Setel ini ke URL server proxy HTTP jika Anda menggunakan {i>proxy<i} untuk terhubung ke internet.ProxyUser
: Setel ini ke nama pengguna yang Anda perlukan untuk mengautentikasi server proxy. Biarkan kosong jika nama pengguna tidak diperlukan.ProxyPassword
: Setel ini ke sandiProxyUser
jika Anda menetapkan nilai untukProxyUser
.ProxyDomain
: Setel ini ke domain untukProxyUser
jika server proxy Anda mengharuskan penetapan salah satunya.MaxReceiveMessageLengthInBytes
: Gunakan setelan ini untuk meningkatkan batas maksimum ukuran respons API yang dapat ditangani oleh library klien. Default nilainya adalah 64 MB.MaxMetadataSizeInBytes
: Gunakan setelan ini untuk meningkatkan batas maksimum ukuran respons error API yang dapat ditangani oleh library klien. Tujuan nilai defaultnya adalah 16 MB.
Sesuaikan
MaxReceiveMessageLengthInBytes
danMaxMetadataSizeInBytes
setelan untuk memperbaiki kesalahanResourceExhausted
tertentu. Alamat setelan ini error berformatStatus(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
.Dalam contoh ini, error disebabkan oleh ukuran pesan (
423184132 bytes
) lebih besar dari yang dapat ditangani library (67108864 bytes
). TambahMaxReceiveMessageLengthInBytes
ke500000000
untuk menghindari error ini.Perhatikan bahwa error tersebut juga menunjukkan bahwa kode Anda menangani objek Respons besar (seperti respons
SearchGoogleAdsResponse
). Ini dapat berdampak kinerja pada kode Anda karena Objek Besar .NET Heap. Jika ini menjadi masalah kinerja, maka Anda mungkin harus mengeksplorasi cara mengatur ulang panggilan API atau mendesain ulang bagian-bagian dari aplikasi Anda.
Setelan OAuth2
Saat menggunakan OAuth2 untuk mengizinkan panggilan terhadap server Google Ads API, Anda harus menyetel 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 berbeda jika Anda ingin memberi otorisasi Token OAuth2 untuk beberapa API. Setelan ini bersifat opsional.
Jika menggunakan OAuth2Mode == APPLICATION
, Anda perlu menyetel hal berikut
kunci konfigurasi tambahan.
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 menyetel
kunci konfigurasi tambahan berikut.
OAuth2PrnEmail
: Setel nilai ini ke alamat email akun yang Anda gunakan melakukan peniruan identitas.OAuth2SecretsJsonPath
: Menetapkan nilai ini ke konfigurasi JSON OAuth2 .
Lihat alur akun layanan OAuth kami untuk mengetahui detail selengkapnya.
Setelan transportasi
UseGrpcCore
: Tetapkan setelan ini ketrue
untuk menggunakan libraryGrpc.Core
sebagai lapisan transport yang mendasarinya. Lihat dukungan gRPC untuk detail selengkapnya.
Setelan Google Ads API
Setelan berikut dikhususkan untuk Google Ads API.
DeveloperToken
: Tetapkan string ini ke token developer Anda.LoginCustomerId
: Ini adalah ID pelanggan dari pelanggan yang diotorisasi untuk digunakan di permintaan, tanpa tanda hubung (-
).LinkedCustomerId
: Header ini hanya diperlukan untuk metode yang mengupdate resource entitas jika diberi izin melalui Akun Tertaut UI Google Ads (referensiAccountLink
di Google Ads API). Setel nilai ini ke ID pelanggan dari penyedia data yang memperbarui sumber daya dari ID pelanggan. Kolom ini harus ditetapkan tanpa tanda hubung (-
). Pelajari lebih lanjut tentang Ditautkan Akun.