GAPIC

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

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

Generierte Kursorte

Die nachbearbeiteten Dienstclients befinden sich in src/Google/Ads/GoogleAds/VX/Services/Client/ (z. B. V25) und die entsprechenden Anfrage- und Antwortnachrichtenklassen (z. B. MutateCampaignsRequest und SearchGoogleAdsRequest) in src/Google/Ads/GoogleAds/VX/Services/. Nebenversionen der API (z. B. v25.1) werden im Verzeichnis der Hauptversion (V25) generiert.

Nutzung

Sie müssen ein Anfrageobjekt erstellen und es an den Dienstclient übergeben, den Sie verwenden möchten. Je nachdem, ob Parameter erforderlich oder optional sind, haben Sie mehrere Möglichkeiten, ein Anfrageobjekt zu erstellen, einschließlich einer statischen build()-Fabrikmethode zum Übergeben erforderlicher Parameter.

Beispiel 1.1: Methoden mit erforderlichen Parametern

Der folgende Beispielcode zeigt, wie CampaignServiceClient::mutateCampaigns() aufgerufen wird. Da sowohl $customerId als auch $campaignOperations erforderliche Parameter sind, wird in der Anfrageklasse eine statische build()-Factory-Methode generiert, die beide Parameter akzeptiert.

Muster 1: Statische Build-Methode (empfohlen)

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

Muster 2: Fluent Setters

$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 generierte build()-Methode nur zwei Parameter ($customerId und $query), da sie erforderliche Parameter sind. Wenn Sie die Gesamtzahl der Ergebnisse anfordern möchten, die der Abfrage entsprechen, wobei die LIMIT-Klausel ignoriert wird, können Sie sie mit setReturnTotalResultsCount() explizit festlegen. Alternativ können Sie alle Parameter zusammen in einem assoziativen Array an den Konstruktor von SearchGoogleAdsRequest übergeben, wie in Muster 3 gezeigt.

Muster 1: Statische Build-Methode mit Fluent Setters

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

Muster 2: Fluent Setters

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

Muster 3: Array-Konstruktor

$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 mit Settern oder dem Array-Konstruktor erstellen.

Muster 1: Fluent Setters (empfohlen)

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

Muster 2: Array-Konstruktor

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