Lista GAPIC

Kod źródłowy w katalogu src/Google/Ads/GoogleAds/VX biblioteki klienta interfejsu Google Ads API w języku PHP, gdzie X to numer wersji interfejsu Google Ads API, jest generowany automatycznie za pomocą generatora GAPIC (Generated API Client) na podstawie opublikowanych plików proto.

Wygenerowany kod źródłowy jest następnie modyfikowany tak, aby zawierał odwołania do cech i klas wymaganych do utworzenia klientów usługi, którzy 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 klasy utrzymywane ręcznie, które znajdują się w src/Google/Ads/GoogleAds/Lib/VX/.

Wygenerowane lokalizacje zajęć

Przetworzone klienty usług znajdują się w katalogu src/Google/Ads/GoogleAds/VX/Services/Client/ (np. V25), a odpowiednie klasy żądań i odpowiedzi (np. MutateCampaignsRequest i SearchGoogleAdsRequest) znajdują się w katalogu src/Google/Ads/GoogleAds/VX/Services/. Wersje podrzędne interfejsu API (np. v25.1) są generowane w katalogu wersji głównej (V25).

Wykorzystanie

Musisz utworzyć obiekt żądania i przekazać go do klienta usługi, którego chcesz użyć. W zależności od tego, czy parametry są wymagane czy opcjonalne, możesz utworzyć obiekt żądania na kilka sposobów, w tym za pomocą statycznej build() metody fabrycznej do przekazywania wymaganych parametrów.

Przykład 1.1. Metody z wymaganymi parametrami

Poniższy przykładowy kod pokazuje, jak wywołać funkcję CampaignServiceClient::mutateCampaigns(). Ponieważ zarówno $customerId, jak i $campaignOperations są wymaganymi parametrami, w klasie żądania generowana jest statyczna metoda fabryczna build(), która akceptuje oba parametry.

Wzorzec 1. Metoda statycznego tworzenia (zalecana)

$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build(
        $customerId,
        $campaignOperations
    )
);

Wzór 2. Fluent setters

$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
    ->setCustomerId($customerId)
    ->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);

Przykład 1.2. Metody z wymaganymi i opcjonalnymi parametrami

Poniższy przykładowy kod wywołuje GoogleAdsServiceClient::search(). W tym przykładzie wygenerowana metoda build() akceptuje tylko 2 parametry ($customerId i $query), ponieważ są to parametry wymagane. Aby poprosić o łączną liczbę wyników pasujących do zapytania z pominięciem klauzuli LIMIT, możesz ustawić ją jawnie za pomocą setReturnTotalResultsCount(). Możesz też przekazać wszystkie parametry razem w tablicy asocjacyjnej do konstruktora SearchGoogleAdsRequest, jak pokazano w wzorcu 3.

Wzorzec 1. Statyczna metoda tworzenia z płynnymi ustawieniami

$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query)
        ->setReturnTotalResultsCount(true)
);

Wzór 2. Fluent setters

$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
    ->setCustomerId($customerId)
    ->setQuery($query)
    ->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);

Wzorzec 3. Konstruktor tablicy

$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 opcjonalnymi parametrami

Ten przykład pokazuje, jak wywołać funkcję GeoTargetConstantServiceClient::suggestGeoTargetConstants(). Ponieważ wszystkie parametry GeoTargetConstantServiceClient::suggestGeoTargetConstants() są opcjonalne, w tym przypadku w kodzie źródłowym nie jest generowany element build() – obiekt żądania musisz utworzyć za pomocą setterów lub konstruktora tablicy.

Wzorzec 1. Płynne ustawianie (zalecane)

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
    ->setLocale($locale)
    ->setCountryCode($countryCode)
    ->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
    $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);

Wzorzec 2. Konstruktor tablicy

$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
    new SuggestGeoTargetConstantsRequest([
        'locale' => $locale,
        'country_code' => $countryCode,
        'location_names' => new LocationNames(['names' => $locationNames])
    ])
);