GAPIC

Der Quellcode in src/Google/Ads/GoogleAds/vX der Google Ads API-PHP-Clientbibliothek, wobei X für die Google Ads API steht wird automatisch mit GAPIC (Generated API Client) Generator, basierend auf den veröffentlichten Proto -Dateien.

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 aufgerufen, 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 Serviceclients befinden sich src/Google/Ads/GoogleAds/VX/Services/Client/

Nutzung

Sie müssen ein Anfrageobjekt erstellen und an den Client übergeben, den Sie verwenden möchten. In einigen Fällen haben Sie mehrere Möglichkeiten, ein Anfrageobjekt zu erstellen. da einige Clients auch eine praktische Methode namens build() zum Übergeben erforderliche Parameter.

Beispiel 1.1: Methoden mit erforderlichen Parametern

Der folgende Beispielcode zeigt, wie CampaignService::mutate() aufgerufen wird. Alle Parameter ($customerId und $operations) sind erforderliche Parameter. Daher wird im Code build() generiert, der 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

Der folgende Beispielcode ruft GoogleAdsServiceClient::search() auf. In dieser Beispiel: Für die im Code generierte build() sind nur zwei Parameter zulässig ($customerId und $query), da dies erforderliche Parameter sind. Wenn Sie die Gesamtzahl der Ergebnisse anfordern möchten, die mit der Abfrage übereinstimmen, 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 Sie GeoTargetConstantServiceClient::suggestGeoTargetConstants() Da alle Parameter von GeoTargetConstantServiceClient::suggestGeoTargetConstants() sind optional ist, wird in diesem Fall build() nicht im Quellcode generiert. Sie müssen Sie 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])
    ])
);