Kode sumber di direktori src/Google/Ads/GoogleAds/VX
library klien PHP Google Ads API, dengan X adalah nomor versi Google Ads API, dibuat secara otomatis menggunakan GAPIC (Generated API
Client) Generator, berdasarkan file proto yang dipublikasikan.
Kode sumber yang dihasilkan kemudian diubah agar berisi referensi ke trait dan
class yang diperlukan untuk membuat klien layanan yang berfungsi dengan Google Ads API menggunakan
class GoogleAdsClient, yang dibuat dengan memanggil
GoogleAdsClientBuilder::build(). GoogleAdsClient dan
GoogleAdsClientBuilder adalah class yang dikelola secara manual yang terletak di
src/Google/Ads/GoogleAds/Lib/VX/.
Lokasi class yang dihasilkan
Klien layanan yang diproses pasca-pemrosesan berada di
src/Google/Ads/GoogleAds/VX/Services/Client/ (misalnya, V25), dan class pesan permintaan dan
respons yang sesuai (seperti MutateCampaignsRequest dan
SearchGoogleAdsRequest) berada di
src/Google/Ads/GoogleAds/VX/Services/. Rilis API minor (seperti v25.1) dibuat di dalam direktori versi mayornya (V25).
Penggunaan
Anda harus membuat objek permintaan dan meneruskannya ke klien layanan yang ingin
Anda gunakan. Bergantung pada apakah parameter wajib atau opsional, Anda memiliki beberapa
cara untuk membuat objek permintaan, termasuk metode factory build() statis
untuk meneruskan parameter wajib.
Contoh 1.1: Metode dengan parameter wajib
Contoh kode berikut menunjukkan cara memanggil
CampaignServiceClient::mutateCampaigns(). Karena $customerId dan
$campaignOperations adalah parameter yang diperlukan, metode factory build() statis
yang menerima kedua parameter akan dibuat di class permintaan.
Pola 1: Metode build statis (direkomendasikan)
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
MutateCampaignsRequest::build(
$customerId,
$campaignOperations
)
);
Pola 2: Setter lancar
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
->setCustomerId($customerId)
->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);
Contoh 1.2: Metode dengan parameter wajib dan opsional
Contoh kode berikut memanggil GoogleAdsServiceClient::search(). Dalam
contoh ini, metode build() yang dihasilkan hanya menerima dua parameter
($customerId dan $query) karena merupakan parameter wajib. Untuk meminta
jumlah total hasil yang cocok dengan kueri dengan mengabaikan klausa LIMIT, Anda
dapat menyetelnya secara eksplisit menggunakan setReturnTotalResultsCount(). Atau, Anda
dapat meneruskan semua parameter bersama-sama dalam array asosiatif ke konstruktor
SearchGoogleAdsRequest, seperti yang ditunjukkan dalam Pola 3.
Pola 1: Metode build statis dengan setter lancar
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
SearchGoogleAdsRequest::build($customerId, $query)
->setReturnTotalResultsCount(true)
);
Pola 2: Setter lancar
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
->setCustomerId($customerId)
->setQuery($query)
->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);
Pola 3: Konstruktor array
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = new SearchGoogleAdsRequest([
'customer_id' => $customerId,
'query' => $query,
'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);
Contoh 2: Metode dengan hanya parameter opsional
Contoh ini menunjukkan cara memanggil
GeoTargetConstantServiceClient::suggestGeoTargetConstants(). Karena semua
parameter GeoTargetConstantServiceClient::suggestGeoTargetConstants() bersifat
opsional, build() tidak dibuat dalam kode sumber dalam kasus ini—Anda
harus membuat objek permintaan menggunakan setter atau konstruktor array.
Pola 1: Setter lancar (direkomendasikan)
$geoTargetConstantServiceClient =
$googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
->setLocale($locale)
->setCountryCode($countryCode)
->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
$geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
Pola 2: Konstruktor array
$geoTargetConstantServiceClient =
$googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
new SuggestGeoTargetConstantsRequest([
'locale' => $locale,
'country_code' => $countryCode,
'location_names' => new LocationNames(['names' => $locationNames])
])
);