Конструкторы

Конструкторы применяются для создания объектов в скриптах AdWords. Объекты AdWords можно создавать как синхронным, так и асинхронным методом. Результаты операций можно проверять, а затем принимать соответствующие действия в зависимости от результата. В представленном ниже примере показано, как создать ключевое слово с помощью конструктора.

// Извлечение группы объявлений.
var adGroup = AdWordsApp.adGroups().get().next();

// Создание операции с ключевыми словами.
var keywordOperation = adGroup.newKeywordBuilder()
    .withCpc(1.2)
    .withText("shoes")
    .withFinalUrl("http://www.example.com/shoes")
    .build();

// Необязательно: проверьте результат. Вызов к isSuccessful()
// блокируется до завершения операции.
if (keywordOperation.isSuccessful()) {
  // Получение результатов.
  var keyword = keywordOperation.getResult();
} else {
  // Исправление ошибок.
  var errors = keywordOperation.getErrors();
}

Текущая версия конструктора объявлений поддерживает создание как объявлений, так и ключевых слов. Также стандартизованы конструкторы для создания групп объявлений и расширений – телефонных номеров, ссылок на сайты и мобильных приложений. Методы addSitelink, addPhoneNumber и addMobileApp классов AdGroup и Campaign возвращают результирующую операцию.

Как избежать проблем с производительностью

По умолчанию скрипты AdWords выполняются асинхронно, что позволяет группировать операции как пакеты и выполнять их с высокой производительностью. Тем не менее при вызове таких операционных методов, как isSuccessful() и getResult(), скрипты AdWords сбрасывают очередь операций, что может привести к снижению производительности. Вместо этого нужно создать массив операций, через который затем можно будет производить итерации и получать результаты.

Низкая производительность Высокая производительность
for (var i = 0; i < keywords.length; i++)
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();

  // Нежелательный метод: извлечение результата осуществляется
  // в той же петле, что и выполнение операции.
  // Это снижает производительность.
  var newKeyword =
      keywordOperation.getResult();
  newKeyword.applyLabel("Новые ключевые слова”);
}
// Создание массива для размещения действий.
var operations = [];

for (var i = 0; i < keywords.length; i++) {
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();
  operations.push(keywordOperation);
}

// Раздельное выполнение операций. Позволяет
// скриптам AdWords группировать операции
// в серии.
for (var i = 0; i < operations.length; i++) {
  var newKeyword = operations[i].getResult();
  newKeyword.applyLabel("New keywords”);
}

Оставить отзыв о...

Текущей странице
Скрипты AdWords
Скрипты AdWords