Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les constructeurs permettent d’ajouter une entité. Chaque objet parent, tel que Campaign, inclut des méthodes pour obtenir des objets générateur que vous utilisez pour ajouter des entités enfants. Par exemple, pour ajouter un groupe d’annonces à une campagne, vous devez appeler la méthode de newAdGroupBuilder l’objetCampaign.
L’objet générateur inclut des méthodes que vous utilisez pour définir les valeurs des propriétés de l’entité. Par exemple, pour spécifier le CPC d’un mot clé, vous devez utiliser la withCpc méthode. Après avoir défini toutes les valeurs de propriété de l’entité, vous appelez la build méthode pour créer l’entité. Le processus de génération est un processus asynchrone dans lequel la demande est mise en file d’attente avec d’autres demandes de build et traitée dans un lot. Les requêtes traitées par lots se terminent avant la fin du script.
Pour déterminer si les demandes de build ont réussi, vous pouvez consulter les journaux ou utiliser l’objet d’opération renvoyé par la build méthode. Par exemple, AdGroupBuilder retourne AdGroupOperation. Vous pouvez appeler l’une des méthodes de l’objet d’opération (isSuccessful, getResult, ou getErrors) pour déterminer si Scripts a correctement créé l’entité. Toutefois, l’appel de ces méthodes comporte des considérations relatives aux performances (voir Considérations relatives aux performances).
L’exemple suivant montre conceptuellement comment créer un mot clé à l’aide des objets générateur et opération. Vous devriez probablement utiliser ce flux uniquement si vous créez une seule entité (ou peut-être plusieurs).
// Gets the first ad group in the account.
var adGroup = AdsApp.adGroups().get().next();
// Use the 'with' methods to specify the keyword's property values.
// The .build() method adds the build request to the build queue.
var keywordOperation = adGroup.newKeywordBuilder()
.withCpc(1.2)
.withText("shirts")
.withFinalUrl("https://www.contoso.com/shirts")
.build();
// Call isSuccessful() to determine if the build succeeded.
// Calling any of the operation object's method processes the
// build request immediately.
if (keywordOperation.isSuccessful()) {
// You only need to call getResult if you need to access
// the new keyword entity.
var keyword = keywordOperation.getResult();
} else {
// Handle the errors.
for (var error of keywordOperation.getErrors()) {
Logger.log(`${error}\n`);
}
}
Considérations liées aux performances
Afin d’améliorer les performances, les processus Scripts génèrent des requêtes par lots. Si vous appelez la méthode d’opération d’une demande de génération, cela force les scripts à traiter immédiatement les demandes de génération en file d’attente, ce qui annule tout gain de performances. Si vous créez plusieurs entités, n’exécutez pas les méthodes d’opération dans la même boucle que celle utilisée pour construire l’entité. Cela entraîne des performances médiocres, car une seule entité à la fois est traitée. Au lieu de cela, créez un tableau des opérations et traitez-les après la boucle de génération.
Procédez comme suit
// An array to hold the operations, so you
// can process them after all the entities are queued.
var operations = [];
// Create all the new entities.
for (var i = 0; i < keywords.length; i++) {
var keywordOperation = AdsApp.adGroups().get().next()
.newKeywordBuilder()
.withText(keywords[i])
.build();
operations.push(keywordOperation);
}
// Now call the operation method so the build requests
// get processed in batches.
for (var i = 0; i < operations.length; i++) {
var newKeyword = operations[i].getResult();
}
Actions déconseillées
for (var i = 0; i < keywords.length; i++) {
var keywordOperation = AdsApp.adGroups().get().next()
.newKeywordBuilder()
.withText(keywords[i])
.build();
// Don't get results in the same loop that creates
// the entity because Scripts then only processes one
// entity at a time.
var newKeyword = keywordOperation.getResult();
}
Voici la liste des constructeurs.