Lista GAPIC

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/
GAPIC v2: brak. Tworzony jest tylko plik po przetworzeniu.
Przetworzeni klienci GAPIC wersja 1
src/Google/Ads/GoogleAds/VX/Services/
GAPIC wersja 2
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
);
      
GAPIC wersja 2
$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build(
      $customerId,
      $campaignOperations
    )
);
      
Wzór 2 GAPIC wersja 1
N/A
GAPIC wersja 2
$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]
);
      
GAPIC wersja 2
$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query)
        ->setReturnTotalResultsCount(true)
);
      
Wzór 2 GAPIC wersja 1
N/A
GAPIC wersja 2
$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
    ->setCustomerId($customerId)
    ->setQuery($query)
    ->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);
      
Wzór 3 GAPIC wersja 1
N/A
GAPIC wersja 2
$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])
]);
      
GAPIC wersja 2
$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
GAPIC wersja 2
$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
    new SuggestGeoTargetConstantsRequest([
        'locale' => $locale,
        'country_code' => $countryCode,
        'location_names' => new LocationNames(['names' => $locationNames])
    ])
);