Le code source du répertoire src/Google/Ads/GoogleAds/VX de la bibliothèque cliente PHP de l'API Google Ads, où X correspond au numéro de version de l'API Google Ads, est généré automatiquement à l'aide du générateur GAPIC (Generated API Client), en fonction des fichiers proto publiés.
Le code source généré est ensuite modifié pour contenir des références aux traits et aux classes nécessaires à la création des clients de service fonctionnant avec l'API Google Ads à l'aide de la classe GoogleAdsClient, qui est créée en appelant GoogleAdsClientBuilder::build(). GoogleAdsClient et GoogleAdsClientBuilder sont des classes gérées manuellement qui se trouvent dans src/Google/Ads/GoogleAds/Lib/VX/.
Emplacements des classes générées
Les clients de service post-traités se trouvent dans src/Google/Ads/GoogleAds/VX/Services/Client/ (par exemple, V25), et les classes de messages de requête et de réponse correspondantes (telles que MutateCampaignsRequest et SearchGoogleAdsRequest) se trouvent dans src/Google/Ads/GoogleAds/VX/Services/. Les versions mineures de l'API (comme v25.1) sont générées dans le répertoire de leur version majeure (V25).
Utilisation
Vous devez créer un objet de requête et le transmettre au client de service que vous souhaitez utiliser. Selon que les paramètres sont obligatoires ou facultatifs, vous disposez de plusieurs façons de créer un objet de requête, y compris une méthode de fabrique build() statique pour transmettre les paramètres obligatoires.
Exemple 1.1 : Méthodes avec paramètres obligatoires
L'exemple de code suivant montre comment appeler CampaignServiceClient::mutateCampaigns(). Étant donné que $customerId et $campaignOperations sont des paramètres obligatoires, une méthode de fabrique build() statique qui accepte les deux paramètres est générée dans la classe de requête.
Schéma 1 : Méthode de compilation statique (recommandée)
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
MutateCampaignsRequest::build(
$customerId,
$campaignOperations
)
);
Modèle 2 : Setters fluides
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
->setCustomerId($customerId)
->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);
Exemple 1.2 : Méthodes avec paramètres obligatoires et facultatifs
L'exemple de code suivant appelle GoogleAdsServiceClient::search(). Dans cet exemple, la méthode build() générée n'accepte que deux paramètres ($customerId et $query), car il s'agit de paramètres obligatoires. Pour demander le nombre total de résultats correspondant à la requête en ignorant la clause LIMIT, vous pouvez le définir explicitement à l'aide de setReturnTotalResultsCount(). Vous pouvez également transmettre tous les paramètres ensemble dans un tableau associatif au constructeur de SearchGoogleAdsRequest, comme indiqué dans le modèle 3.
Modèle 1 : Méthode de compilation statique avec setters fluides
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
SearchGoogleAdsRequest::build($customerId, $query)
->setReturnTotalResultsCount(true)
);
Modèle 2 : Setters fluides
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
->setCustomerId($customerId)
->setQuery($query)
->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);
Modèle 3 : Constructeur de tableau
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
$request = new SearchGoogleAdsRequest([
'customer_id' => $customerId,
'query' => $query,
'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);
Exemple 2 : Méthodes avec uniquement des paramètres facultatifs
Cet exemple montre comment appeler GeoTargetConstantServiceClient::suggestGeoTargetConstants(). Étant donné que tous les paramètres de GeoTargetConstantServiceClient::suggestGeoTargetConstants() sont facultatifs, build() n'est pas généré dans le code source dans ce cas. Vous devez construire l'objet de requête à l'aide de setters ou du constructeur de tableau.
Modèle 1 : Setters fluides (recommandé)
$geoTargetConstantServiceClient =
$googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
->setLocale($locale)
->setCountryCode($countryCode)
->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
$geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
Modèle 2 : Constructeur de tableau
$geoTargetConstantServiceClient =
$googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
new SuggestGeoTargetConstantsRequest([
'locale' => $locale,
'country_code' => $countryCode,
'location_names' => new LocationNames(['names' => $locationNames])
])
);