Kode sumber di direktori src/Google/Ads/GoogleAds/vX
library klien PHP Google Ads API, dengan X adalah versi Google Ads API,
dibuat secara otomatis menggunakan Generator
GAPIC (Klien API yang Dibuat), berdasarkan file proto
yang dipublikasikan.
Kode sumber yang dihasilkan kemudian dimodifikasi
untuk memuat referensi ke trait dan
yang diperlukan untuk membuat klien layanan yang dapat digunakan dengan Google Ads API
class GoogleAdsClient, yang dibuat dengan memanggil
GoogleAdsClientBuilder::build(). GoogleAdsClient dan
GoogleAdsClientBuilder adalah class yang dibuat secara manual yang terletak di
src/Google/Ads/GoogleAds/Lib/vX/.
Lokasi kelas yang dibuat
Klien layanan pascapemrosesan berada di
src/Google/Ads/GoogleAds/VX/Services/Client/.
Penggunaan
Anda harus membuat objek permintaan dan meneruskannya ke klien yang ingin digunakan.
Terkadang, Anda memiliki lebih dari satu cara untuk membuat objek permintaan
karena beberapa klien juga memiliki metode praktis bernama build() untuk meneruskan
parameter yang diperlukan.
Contoh 1.1: Metode dengan parameter wajib
Kode contoh berikut menunjukkan cara memanggil CampaignService::mutate(). Semua
($customerId dan $operations) adalah parameter yang diperlukan, sehingga
build() yang menerima kedua parameter akan dibuat dalam kode.
Pola 1
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( MutateCampaignsRequest::build( $customerId, $campaignOperations ) );
Pola 2
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $request = (new MutateCampaignsRequest()) ->setCustomerId($customerId) ->setCampaignOperations($campaignOperations); $response = $campaignServiceClient->mutateCampaigns($request);
Contoh 1.2: Metode dengan parameter wajib dan parameter opsional
Kode contoh berikut memanggil GoogleAdsServiceClient::search(). Di sini
contoh, build() yang dihasilkan dalam kode hanya menerima dua parameter
($customerId dan $query) karena merupakan parameter yang diperlukan. Untuk meminta
jumlah total hasil yang cocok dengan kueri yang mengabaikan klausa LIMIT, Anda
harus menyetelnya secara eksplisit menggunakan setReturnTotalResultsCount(). Atau,
Anda dapat meneruskan semua parameter secara bersamaan ke konstruktor
SearchGoogleAdsRequest, seperti yang ditunjukkan dalam pola 3.
Pola 1
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( SearchGoogleAdsRequest::build($customerId, $query) ->setReturnTotalResultsCount(true) );
Pola 2
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest()) ->setCustomerId($customerId) ->setQuery($query) ->setReturnTotalResultsCount(true); $response = $googleAdsServiceClient->search($request);
Pola 3
$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 hal ini—Anda
harus membuat objek permintaan sendiri.
Pola 1
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $request = (new SuggestGeoTargetConstantsRequest()) ->setLocale($locale) ->setCountryCode($countryCode) ->setLocationNames(new LocationNames(['names' => $locationNames])); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
Pola 2
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants( new SuggestGeoTargetConstantsRequest([ 'locale' => $locale, 'country_code' => $countryCode, 'location_names' => new LocationNames(['names' => $locationNames]) ]) );