GAPIC

Der Quellcode im Verzeichnis src/Google/Ads/GoogleAds/vX der Google Ads API-Clientbibliothek für PHP, wobei X die Google Ads API-Version ist, wird automatisch mit dem GAPIC-Generator (Generated API Client) auf Grundlage der veröffentlichten Proto-Dateien generiert.

Der generierte Quellcode wird dann so geändert, dass er Verweise auf Merkmale und Klassen enthält, die zum Erstellen der Dienstclients erforderlich sind, die mit der Google Ads API funktionieren. Dazu wird die Klasse GoogleAdsClient verwendet, die durch Aufrufen von GoogleAdsClientBuilder::build() erstellt wird. Sowohl GoogleAdsClient als auch GoogleAdsClientBuilder sind manuell erstellte Kurse in src/Google/Ads/GoogleAds/Lib/vX/.

Generierte Kursorte

Die nachbearbeiteten Dienstclients befinden sich unter src/Google/Ads/GoogleAds/VX/Services/Client/.

Nutzung

Sie müssen ein Anfrageobjekt erstellen und es an den Client übergeben, den Sie verwenden möchten. In einigen Fällen haben Sie mehr als eine Möglichkeit, ein Anfrageobjekt zu erstellen, da einige Clients auch eine praktische Methode namens build() zum Übergeben von erforderlichen Parametern haben.

Beispiel 1.1: Methoden mit erforderlichen Parametern

Im folgenden Beispielcode wird gezeigt, wie CampaignService::mutate() aufgerufen wird. Alle Parameter ($customerId und $operations) sind erforderlich. Daher wird im Code die build() generiert, die beide Parameter akzeptiert.

Muster 1

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

Muster 2

$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 GoogleAdsServiceClient::search() aufgerufen. In diesem Beispiel akzeptiert die build(), die im Code generiert wird, nur zwei Parameter ($customerId und $query), da es sich um erforderliche Parameter handelt. Wenn Sie die Gesamtzahl der Ergebnisse anfordern möchten, die der Abfrage entsprechen, wobei die LIMIT-Klausel ignoriert wird, müssen Sie sie explizit mit setReturnTotalResultsCount() festlegen. Alternativ können Sie alle Parameter zusammen an den Konstruktor von SearchGoogleAdsRequest übergeben, wie in Muster 3 gezeigt.

Muster 1

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

Muster 2

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

Muster 3

$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest([
    'customer_id' => $customerId,
    'query' => $query,
    'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);

Beispiel 2: Methoden mit nur optionalen Parametern

In diesem Beispiel wird gezeigt, wie GeoTargetConstantServiceClient::suggestGeoTargetConstants() aufgerufen wird. Da alle Parameter von GeoTargetConstantServiceClient::suggestGeoTargetConstants() optional sind, wird build() in diesem Fall nicht im Quellcode generiert. Sie müssen das Anfrageobjekt selbst erstellen.

Muster 1

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

Muster 2

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