Der Quellcode im Verzeichnis src/Google/Ads/GoogleAds/vX
der Google Ads API-PHP-Clientbibliothek (X ist die Version der Google Ads API) wird automatisch mit dem GAPIC-Generator (Generated API Client) basierend auf den 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
aufgerufen, 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 Kursstandorte
Die nachbehandelten Dienstclients befinden sich unter src/Google/Ads/GoogleAds/VX/Services/Client/
.
Nutzung
Sie müssen ein Anfrageobjekt erstellen und an den gewünschten Client übergeben.
In einigen Fällen haben Sie mehrere Möglichkeiten, 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 erforderliche Parameter. Daher wird im Code build()
generiert, der 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 der im Code generierte build()
nur zwei Parameter ($customerId
und $query
), da dies erforderliche Parameter sind. Wenn Sie die Gesamtzahl der Ergebnisse anfordern möchten, die mit der Abfrage übereinstimmen, 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]) ]) );