Der Quellcode in src/Google/Ads/GoogleAds/vX
der Google Ads API-PHP-Clientbibliothek, wobei X für die Google Ads API steht
wird automatisch mit GAPIC (Generated API Client)
Generator, basierend auf den veröffentlichten
Proto
-Dateien.
Der generierte Quellcode wird dann so geändert, dass er Verweise auf Merkmale und
Klassen erforderlich, um die Service-Clients zu erstellen, die mit der Google Ads API mithilfe von
der GoogleAdsClient
-Klasse, die durch Aufrufen von
GoogleAdsClientBuilder::build()
. Sowohl GoogleAdsClient
als auch
GoogleAdsClientBuilder
sind manuell erstellte Klassen in
src/Google/Ads/GoogleAds/Lib/vX/
GAPIC v2-Quellcode
Seit Version v20.1.0 enthält die Clientbibliothek
enthält auch eine neue Version des GAPIC-Quellcodes in
src/Google/Ads/GoogleAds/vX
, das die Übergabe eines Anfrageobjekts an den Dienst unterstützt
Kunden . Diese neue Version namens GAPIC v2 dient auch
für neue Funktionen. Der frühere GAPIC-Quellcode, GAPIC v1, ist
generiert und bis Ende 2023 in jedem Release enthalten.
Mithilfe der PHP-Client-Bibliothek der Google Ads API können Sie die Version auswählen, mit der eine Verknüpfung hergestellt werden soll.
GoogleAdsClient
mit der Konfigurationseinstellung
useGapicV2Source
Wenn diese Einstellung auf
true
generiert die Clientbibliothek ein GoogleAdsClient
-Objekt, das ein
GAPIC v2-Dienstclients
Generierte Kursorte
Hier sehen Sie die Unterschiede bei den Dateispeicherorten zwischen den GAPIC-Versionen für die zwei Klassentypen:
Von GAPIC generierte Clients und zugehörige Dateien | GAPIC v1
src/Google/Ads/GoogleAds/VX/Services/Gapic/ |
Nachbearbeitete Kunden | GAPIC v1
src/Google/Ads/GoogleAds/VX/Services/ src/Google/Ads/GoogleAds/VX/Services/Client/ |
Nutzung
Bei GAPIC v1 müssen Sie jeden Anfrageparameter direkt an eine Methode übergeben,
Bei GAPIC v2 müssen Sie stattdessen ein Anfrageobjekt übergeben. Beachten Sie, dass in
haben Sie mehr als eine Möglichkeit, ein Anfrageobjekt zu erstellen,
Version 2 generiert außerdem eine praktische Methode mit dem Namen build()
zur Übergabe von required.
Parameter.
Beispiel 1.1: Methoden mit erforderlichen Parametern
Im folgenden Beispielcode wird das Aufrufen von CampaignService::mutate()
in GAPIC verglichen
v1 und v2. Beachten Sie, dass alle Parameter ($customerId
und $operations
)
erforderliche Parameter, sodass die build()
generiert wird, die beide Parameter akzeptiert.
im Code von GAPIC v2 ein.
Muster 1 | GAPIC v1
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( $customerId, $campaignOperations ); $campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( MutateCampaignsRequest::build( $customerId, $campaignOperations ) ); |
Muster 2 | GAPIC v1
N/A $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 der Aufruf von GoogleAdsServiceClient::search()
in
GAPIC v1 und v2. In diesem Beispiel wird die build()
, die im GAPIC generiert wird,
V2-Quellcode akzeptiert nur zwei Parameter ($customerId
und $query
).
sind dies erforderliche Parameter. Um die Gesamtzahl der Ergebnisse anzufordern,
ohne die LIMIT
-Klausel verwenden, müssen Sie sie explizit mit
setReturnTotalResultsCount()
. Alternativ können Sie alle Parameter
mit dem Konstruktor von SearchGoogleAdsRequest
, wie in Muster 3 gezeigt.
Muster 1 | GAPIC v1
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( $customerId, $query, ['returnTotalResultsCount' => true] ); $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( SearchGoogleAdsRequest::build($customerId, $query) ->setReturnTotalResultsCount(true) ); |
Muster 2 | GAPIC v1
N/A $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest()) ->setCustomerId($customerId) ->setQuery($query) ->setReturnTotalResultsCount(true); $response = $googleAdsServiceClient->search($request); |
Muster 3 | GAPIC v1
N/A $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest([ 'customer_id' => $customerId, 'query' => $query, 'return_total_results_count' => true ]); $response = $googleAdsServiceClient->search($request); |
Beispiel 2: Methoden nur mit optionalen Parametern
GeoTargetConstantServiceClient::suggestGeoTargetConstants()
vergleichen in
GAPIC v1 und v2. Da alle Parameter eines
GeoTargetConstantServiceClient::suggestGeoTargetConstants()
sind optional,
In diesem Fall wird build()
nicht im Quellcode von GAPIC v2 generiert. Sie
müssen Sie das Anfrageobjekt selbst erstellen.
Muster 1 | GAPIC v1
$geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants([ 'locale' => $locale, 'countryCode' => $countryCode, 'locationNames' => new LocationNames(['names' => $locationNames]) ]); $geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $request = (new SuggestGeoTargetConstantsRequest()) ->setLocale($locale) ->setCountryCode($countryCode) ->setLocationNames(new LocationNames(['names' => $locationNames])); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants($request); |
Muster 2 | GAPIC v1
N/A $geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants( new SuggestGeoTargetConstantsRequest([ 'locale' => $locale, 'country_code' => $countryCode, 'location_names' => new LocationNames(['names' => $locationNames]) ]) ); |