Lista GAPIC

Kod źródłowy w katalogu src/Google/Ads/GoogleAds/vX biblioteki klienta PHP interfejsu Google Ads API, gdzie X to wersja 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, 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 zajęcia utworzone ręcznie w src/Google/Ads/GoogleAds/Lib/vX/.

Wygenerowane lokalizacje zajęć

Przetworzone klienty usługi znajdują się w src/Google/Ads/GoogleAds/VX/Services/Client/.

Wykorzystanie

Musisz utworzyć obiekt żądania i przekazać go do klienta, którego chcesz użyć. W niektórych przypadkach możesz utworzyć obiekt żądania na więcej niż 1 sposób, ponieważ niektóre usługi mają też wygodną metodę o nazwie build() do przekazywania wymaganych parametrów.

Przykład 1.1. Metody z wymaganymi parametrami

Poniższy przykładowy kod pokazuje, jak wywołać CampaignService::mutate(). Wszystkie parametry ($customerId$operations) są wymagane, więc w kodzie jest generowany parametr build(), który akceptuje oba parametry.

Wzór 1

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

Wzór 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

Poniższy przykładowy kod wywołuje funkcję GoogleAdsServiceClient::search(). W tym przykładzie kod build() akceptuje tylko 2 parametry ($customerId$query), ponieważ są to parametry wymagane. Aby poprosić o łączną liczbę wyników pasujących do zapytania z pominięciem klauzuli 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

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

Wzór 2

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

Wzór 3

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

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 parametr build() – musisz samodzielnie utworzyć obiekt żądania.

Wzór 1

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

Wzór 2

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