Kod źródłowy w pliku src/Google/Ads/GoogleAds/vX
katalog biblioteki klienta PHP interfejsu Google Ads API, gdzie X to interfejs Google Ads API.
jest generowana automatycznie za pomocą GAPIC (Wygenerowanego klienta API)
Generatora, oparty na opublikowanym
Proto
.
Wygenerowany kod źródłowy jest następnie modyfikowany tak, aby zawierał odwołania do cech
klas wymaganych do utworzenia klientów usługi, które współpracują z interfejsem Google Ads API za pomocą
klasy GoogleAdsClient
, która jest tworzona przez wywołanie
GoogleAdsClientBuilder::build()
Zarówno GoogleAdsClient
, jak i
GoogleAdsClientBuilder
to ręcznie utworzone zajęcia w
src/Google/Ads/GoogleAds/Lib/vX/
Kod źródłowy GAPIC v2
Od wersji v20.1.0 biblioteka klienta
zawiera również nową wersję kodu źródłowego GAPIC w
src/Google/Ads/GoogleAds/vX
, który obsługuje przesyłanie obiektu żądania do usługi
klientów . Ta nowa wersja, o nazwie GAPIC v2, służy również jako przygotowanie
aby dowiedzieć się więcej o nowych funkcjach. Wcześniejszy kod źródłowy GAPIC, GAPIC v1, to
generowane i dołączane do każdej wersji do końca 2023 r.
Biblioteka klienta w języku PHP interfejsu Google Ads API umożliwia wybranie wersji, z którą chcesz połączyć konto
GoogleAdsClient
za pomocą ustawienia konfiguracji
useGapicV2Source
Gdy to ustawienie jest ustawione na:
true
, biblioteka klienta generuje obiekt GoogleAdsClient
, który tworzy
Klienty usługi GAPIC v2.
Wygenerowane lokalizacje zajęć
Oto różnice w lokalizacjach plików między wersjami GAPIC dla interfejsu dwa typy klas:
Klienty wygenerowane przez GAPIC i powiązane pliki | GAPIC wersja 1
src/Google/Ads/GoogleAds/VX/Services/Gapic/ |
Przetworzeni klienci | GAPIC wersja 1
src/Google/Ads/GoogleAds/VX/Services/ src/Google/Ads/GoogleAds/VX/Services/Client/ |
Wykorzystanie
GAPIC v1 wymaga przekazania każdego parametru żądania bezpośrednio do metody,
natomiast GAPIC v2 wymaga
przekazania obiektu żądania. Pamiętaj, że w polu
W niektórych przypadkach istnieje więcej niż jeden sposób tworzenia obiektu żądania od momentu wprowadzenia GAPIC.
Wersja 2 generuje też wygodną metodę o nazwie build()
, która pozwala na uzyskanie pozytywnego wyniku testu wymaganego.
.
Przykład 1.1: Metody z wymaganymi parametrami
Poniższy przykładowy kod porównuje wywoływanie funkcji CampaignService::mutate()
w GAPIC
v1 i 2. Pamiętaj, że wszystkie parametry ($customerId
i $operations
) są
wymagane parametry, więc zostanie wygenerowana wartość build()
, która akceptuje oba parametry
w kodzie GAPIC v2.
Wzór 1 | GAPIC wersja 1
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( $customerId, $campaignOperations ); $campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $response = $campaignServiceClient->mutateCampaigns( MutateCampaignsRequest::build( $customerId, $campaignOperations ) ); |
Wzór 2 | GAPIC wersja 1
N/A $campaignServiceClient = $googleAdsClient->getCampaignServiceClient(); $request = (new MutateCampaignsRequest()) ->setCustomerId($customerId) ->setCampaignOperations($campaignOperations); $response = $campaignServiceClient->mutateCampaigns($request); |
Przykład 1.2: Metody z wymaganymi i opcjonalnymi parametrami
Ten przykładowy kod porównuje wywoływanie funkcji GoogleAdsServiceClient::search()
w
GAPIC v1 i v2. W tym przykładzie obiekt build()
generowany w GAPIC
Kod źródłowy wersji 2 akceptuje tylko 2 parametry ($customerId
i $query
), ponieważ
są to parametry wymagane. Aby poprosić o łączną liczbę pasujących wyników:
zapytania ignorującego klauzulę LIMIT
, musisz ustawić ją jawnie za pomocą
setReturnTotalResultsCount()
Możesz też przekazać wszystkie parametry
razem do konstruktora SearchGoogleAdsRequest
, jak pokazano we wzorcu 3.
Wzór 1 | GAPIC wersja 1
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( $customerId, $query, ['returnTotalResultsCount' => true] ); $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $response = $googleAdsServiceClient->search( SearchGoogleAdsRequest::build($customerId, $query) ->setReturnTotalResultsCount(true) ); |
Wzór 2 | GAPIC wersja 1
N/A $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest()) ->setCustomerId($customerId) ->setQuery($query) ->setReturnTotalResultsCount(true); $response = $googleAdsServiceClient->search($request); |
Wzór 3 | GAPIC wersja 1
N/A $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); $request = (new SearchGoogleAdsRequest([ 'customer_id' => $customerId, 'query' => $query, 'return_total_results_count' => true ]); $response = $googleAdsServiceClient->search($request); |
Przykład 2. Metody z tylko opcjonalnymi parametrami
Porównaj połączenia do: GeoTargetConstantServiceClient::suggestGeoTargetConstants()
w:
GAPIC v1 i v2. Ponieważ wszystkie parametry
GeoTargetConstantServiceClient::suggestGeoTargetConstants()
są opcjonalne.
Element build()
nie jest w tym przypadku generowany w kodzie źródłowym GAPIC v2.
musisz samodzielnie utworzyć obiekt żądania.
Wzór 1 | GAPIC wersja 1
$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); |
Wzór 2 | GAPIC wersja 1
N/A $geoTargetConstantServiceClient = $googleAdsClient->getGeoTargetConstantServiceClient(); $response = $geoTargetConstantServiceClient->suggestGeoTargetConstants( new SuggestGeoTargetConstantsRequest([ 'locale' => $locale, 'country_code' => $countryCode, 'location_names' => new LocationNames(['names' => $locationNames]) ]) ); |