GAPIC

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

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

Generierte Kursorte

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

Nutzung

Sie müssen ein Anfrageobjekt erstellen und 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()-Factory-Methode zum Übergeben von erforderlichen Parametern.

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-Setter

$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 es sich um erforderliche Parameter handelt. Wenn Sie die Gesamtzahl der Ergebnisse anfordern möchten, die der Abfrage entsprechen, und die LIMIT-Klausel ignorieren möchten, können Sie sie explizit mit setReturnTotalResultsCount() 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-Settern

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

Muster 2: Fluent-Setter

$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-Setter (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])
    ])
);