Der Quellcode im Verzeichnis src/Google/Ads/GoogleAds/vX
der Google Ads API-Clientbibliothek für PHP, wobei X die Google Ads API-Version ist, wird automatisch mit dem GAPIC-Generator (Generated API Client) auf Grundlage der veröffentlichten Proto-Dateien generiert.
Der generierte Quellcode wird dann so geändert, dass er Verweise auf Merkmale und Klassen enthält, die zum Erstellen der Dienstclients erforderlich sind, die mit der Google Ads API funktionieren. Dazu wird die Klasse GoogleAdsClient
verwendet, die durch Aufrufen von GoogleAdsClientBuilder::build()
erstellt wird. Sowohl GoogleAdsClient
als auch GoogleAdsClientBuilder
sind manuell erstellte Kurse in src/Google/Ads/GoogleAds/Lib/vX/
.
Generierte Kursorte
Die nachbearbeiteten Dienstclients befinden sich unter src/Google/Ads/GoogleAds/VX/Services/Client/
.
Nutzung
Sie müssen ein Anfrageobjekt erstellen und es an den Client übergeben, den Sie verwenden möchten.
In einigen Fällen haben Sie mehr als eine Möglichkeit, ein Anfrageobjekt zu erstellen, da einige Clients auch eine praktische Methode namens build()
zum Übergeben von erforderlichen Parametern haben.
Beispiel 1.1: Methoden mit erforderlichen Parametern
Im folgenden Beispielcode wird gezeigt, wie CampaignService::mutate()
aufgerufen wird. Alle Parameter ($customerId
und $operations
) sind erforderlich. Daher wird im Code die build()
generiert, die beide Parameter akzeptiert.
Muster 1
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( MutateCampaignsRequest::build( $customerId, $campaignOperations ) );
Muster 2
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $request = (new MutateCampaignsRequest()) ->setCustomerId($customerId) ->setCampaignOperations($campaignOperations); $response = $campaignServiceClient->mutateCampaigns($request);
Beispiel 1.2: Methoden mit erforderlichen und optionalen Parametern
Im folgenden Beispielcode wird GoogleAdsServiceClient::search()
aufgerufen. In diesem Beispiel akzeptiert die build()
, die im Code generiert wird, nur zwei Parameter ($customerId
und $query
), da es sich um erforderliche Parameter handelt. Wenn Sie die Gesamtzahl der Ergebnisse anfordern möchten, die der Abfrage entsprechen, wobei die LIMIT
-Klausel ignoriert wird, müssen Sie sie explizit mit setReturnTotalResultsCount()
festlegen. Alternativ können Sie alle Parameter zusammen an den Konstruktor von SearchGoogleAdsRequest
übergeben, wie in Muster 3 gezeigt.
Muster 1
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( SearchGoogleAdsRequest::build($customerId, $query) ->setReturnTotalResultsCount(true) );
Muster 2
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest()) ->setCustomerId($customerId) ->setQuery($query) ->setReturnTotalResultsCount(true); $response = $googleAdsServiceClient->search($request);
Muster 3
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest([ 'customer_id' => $customerId, 'query' => $query, 'return_total_results_count' => true ]); $response = $googleAdsServiceClient->search($request);
Beispiel 2: Methoden mit nur optionalen Parametern
In diesem Beispiel wird gezeigt, wie GeoTargetConstantServiceClient::suggestGeoTargetConstants()
aufgerufen wird. Da alle Parameter von GeoTargetConstantServiceClient::suggestGeoTargetConstants()
optional sind, wird build()
in diesem Fall nicht im Quellcode generiert. Sie müssen das Anfrageobjekt selbst erstellen.
Muster 1
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $request = (new SuggestGeoTargetConstantsRequest()) ->setLocale($locale) ->setCountryCode($countryCode) ->setLocationNames(new LocationNames(['names' => $locationNames])); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
Muster 2
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants( new SuggestGeoTargetConstantsRequest([ 'locale' => $locale, 'country_code' => $countryCode, 'location_names' => new LocationNames(['names' => $locationNames]) ]) );